Heat
Generates WiX authoring from various input formats.
Every time heat is run it regenerates the output file and any changes are lost.
Usage Information
heat.exe [-?] harvestType <harvester arguments> -out sourceFile.wxs
Heat supports the harvesting types:
Harvest Type |
Meaning |
dir |
Harvest a directory. |
file |
Harvest a file. |
project |
Harvest outputs of a Visual Studio project. |
website |
Harvest an IIS web site. |
perf |
Harvest performance counters from a category. |
Heat supports the following command line parameters:
Switch |
Meaning |
-ag |
Auto generate component guids at compile time, e.g. set Guid="*". |
-gg |
Generate guids now. All components are given a guid when heat is run. |
-g1 |
Generate component guids without curly braces. |
-ke |
Keep empty directories. |
-nologo |
Skip printing heat logo information. |
-out |
Specify output file (default: write to current directory). |
-pog:<group> |
Specify output group of Visual Studio project, one of: Binaries, Symbols, Documents, Satellites, Sources, Content.
This option may be repeated for multiple output groups; e.g. -pog:Binaries -pog:Content. |
-scom |
Suppress COM elements. |
-sfrag |
Suppress generation of fragments for directories and components. |
-sreg |
Suppress registry harvesting. |
-suid |
Suppress unique identifiers for files, components, & directories. |
-sw<N> |
Suppress all warnings or a specific message ID, e.g. -sw1011 -sw1012. |
-swall |
Suppress all warnings (deprecated). |
-svb6 |
Suppress VB6 COM registration entries. When registering a COM component created in VB6 it adds registry entries that are part of the VB6 runtime component, recommend for VB6 components to avoid breaking the VB6 runtime on uninstall. The following values are excluded: |
-t:<xsl> |
Transform harvested output with XSL file. |
-indent <n> |
Indentation multiple (overrides default of 4). |
-template:<template> |
Use template, one of: fragment, module, product. |
-v |
Verbose output. |
-wx[N] |
Treat all warnings or a specific message ID as an error. e.g. -wx1011 -wx1012. |
-wxall |
Treat all warnings as errors (deprecated). |
-? | -help |
Display heat help information. |
Command line examples
Harvest a directory
heat dir -gg -sfrag -template:fragment -out directory.wxs ".\My Files"
This will harvest the sub folder "My Files" as a single fragment to the file directory.wxs. It will generate guids for all the files as they are found.
Harvest a file
heat file -ag -template:fragment -out file.wxs ".\My Files\File.dll"
This will harvest the file "File.dll" as a single fragment to the file file.wxs. The component guid will be set to "*".
Harvest a Visual Studio project
heat project -pog:Binaries -ag -template:fragment -out project.wxs "MyProject.csproj"
This will harvest the binary output files from the Visual Studio project "MyProject.csproj" as a single fragment to the file project.wxs. The component guid will be set to "*".
Harvest a Website
heat website -template:fragment -out website.wxs "Default Web Site"
This will harvest the website "Default Web Site" as a single fragment to the file website.wxs.
Harvest a VB6 COM component
heat file -ag -template:fragment -svb6 -out vb6file.wxs ".\My Files\VB6File.dll"
This will harvest the VB6 COM component "VB6File.dll" as a single fragment to the file vb6file.wxs and suppress the VB6 runtime specific registy entries.
Harvest performance counters
heat perf "My Category" -out perf.wxs
This will harvest all the performance counters from the category "My Category".