[wix-users] Harvesting a WSC scriptlet

Wheeler, Blaine (DSHS/DCS) BWheeler at dshs.wa.gov
Wed Jan 11 08:02:27 PST 2017

If the WSC doesn't change; I would make a fragment for just it and not re-run heat on each build. 

The fragment would have 1 component that defines the file install path and the registry entries.
I would use the INSTALLDIR and WINDIR properties in place of hard paths gathered when you export the registry keys. The installer will put things in the correct places.

Use a ComponentRef in the Feature the file belongs to and after some testing you should be able to get it to work

-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Helge Kruse
Sent: Wednesday, January 11, 2017 4:25 AM
To: WiX Users
Subject: [wix-users] Harvesting a WSC scriptlet


I am creating an MSI that is mostly implemented with .NET assemblies.
These assemblies provide interfaces for COM/automation. For some backward capability it is necessary to provide one COM class as a WSC scriptlet.

The WSC is usually registered with regsvr32. After registering you find a value of C:\Windows\system32\scrobj.dll for the InprocServer32.

When I run
  heat file C:\build\MyServer.WSC -o C:\source\MyServer.wxs I get a source file that contains a component with only the <File> child node. All the registration information is missing.

As a workaround I could investigate what will be written to the registry when calling regsvr32, create a MyServer.REG file an harvest this file with heat.exe. But this is cumbersome and error prone because there are absolute paths involved that should depend on INSTALLDIR (for the WSC
file) or WINDIR (for the scrobj.dll).

How can I harvest the WSC so that it can be used with WiX?


WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/

More information about the wix-users mailing list