I received an exception as below when attempting to harvest the attached reg file with the command below the actual output shown below is with a pdb to give file and line number. I am running the latest version of WiX (The version of heat is 3.7.1224.0).
C:\Users\jmessenger\Downloads>"%WIX%bin\heat.exe" reg foo.reg -out reg.reg
Windows Installer Xml Toolset Harvester version 3.7.1224.0
Copyright (C) Outercurve Foundation. All rights reserved.
heat.exe : error HEAT0001 : Unsupport registry value "New Value #2"=hex(b):00,00,00,00,00,00,00,00 at line 13.
Exception Type: System.ApplicationException
Stack Trace:
at Microsoft.Tools.WindowsInstallerXml.Extensions.RegFileHarvester.GetValue(StreamReader sr, String& name, String& va
lue, TypeType& type)
at Microsoft.Tools.WindowsInstallerXml.Extensions.RegFileHarvester.ConvertValues(StreamReader sr, Component& componen
t, RegistryRootType root, String line)
at Microsoft.Tools.WindowsInstallerXml.Extensions.RegFileHarvester.ConvertKey(StreamReader sr, Directory& directory,
RegistryRootType root, String line)
at Microsoft.Tools.WindowsInstallerXml.Extensions.RegFileHarvester.HarvestRegFile(String path)
at Microsoft.Tools.WindowsInstallerXml.Extensions.RegFileHarvester.Harvest(String argument)
at Microsoft.Tools.WindowsInstallerXml.Harvester.Harvest(String argument)
at Microsoft.Tools.WindowsInstallerXml.Tools.Heat.Run(String[] args) in e:\delivery\Dev\wix37_public\src\heat\heat.cs
:line 139
C:\Users\jmessenger\Downloads>
I realized that the output was not a wxs file I reattempted the harvest with a wxs file output and received the same exception. Also, "New Value #2" is a REG_QWORD. Without that Qword everything processed correctly.
Unfortunately, the Windows Installer does not support QWORD values. However, the WiX toolset should fail with a much better error message than that when it sees a QWORD. Leaving this bug open to track the requirement for a better error message.
It would also be helpful if heat would simply harvest the rest of the registry values and then export them to the output. Perhaps with a warning message in the XML that QWORD values are not supported in addition to the warning printed to the console. WiX does the same thing in dark when exporting MSIs with binaries without using the -x option for dark.