[wix-users] Applying patch with heat

Helge Kruse Helge.Kruse at gmx.net
Thu Jan 12 01:54:49 PST 2017


While harvesting files from a directory I failed to meet two requirements:
- Some files shall be omitted. The selection shall be on the file name.
e.g. all .PDB files should be excluded for the installation.
- Files containing a .NET assembly shall have the corresponding
attributes: Assembly, AssemblyManifest, AssemblyApplication. This should
register these files in the GAC.

I could exclude the files by creating a temporary folder, copy only
required files to the temporary, and call heat with that folder. But
since the missing attributes are still an open issue, I though about the
Transform option of heat.


The heat command allows to apply a patch based on an XSL file to the
harvester output. So I could invoke it like

  heat dir SomeFolderName -o xx.wxs -t myTransform.xsl

Unfortunately the page
http://wixtoolset.org/documentation/manual/v3/overview/heat.html shows
only the possibility to perform a transform, but I could not find an
example for this.

I would like to do two operations.
(1) <Component> nodes containing a file with a specific extension (.pdb)
should be removed.
(2) <File> nodes with specific extensions (.exe, .dll) should get
additional attributes:
- Assembly=".net"
- AssemblyManifest="[File/Name]"
- AssemblyApplication="[File/Name]"
Where [File/Name] stands for the name of the file at the installed file
name.

I am not experienced with XML transform language. Do you know examples
or tutorials how this can be implemented?

Is there a different way to add the attributes like "Assembly" to files
during harvesting?

Regards,
Helge


More information about the wix-users mailing list