wixtoolset / issues

WiX Toolset Issues Tracker
http://wixtoolset.org/
130 stars 24 forks source link

heat.exe ignores "-directoryid" parameter when harvesting a dir #8732

Closed madmaxoft closed 2 months ago

madmaxoft commented 2 months ago

WiX Version

5.0.1+2f00cbe680fb01ab485d56f16de9cd19b133f875

.NET or MSBuild or Visual Studio Version

.NET 8.0.4

HeatWave Version

N/A

Windows Version

Win10 22H2

Repro Repo

No response

Repro Steps

  1. Run heat.exe dir ... -directoryid INSTALLDIR (add the required parameters to harvest a real directory)

Actual Result

The output uses TARGETDIR instead of INSTALLDIR as the directory ID.

Expected Result

The output uses INSTALLDIR as the directory ID.

I've found out that for the standalone heat.exe, the commandline switch is -dr instead of -directoryid (as per \src\tools\heat\UtilHeatExtension.cs)

Acknowledgements

barnson commented 2 months ago

What's telling you to use -directoryid?

madmaxoft commented 2 months ago

I'm running the heat.exe tool "manually" from my CMakeLists.txt to generate a setup for a rather complicated app. There are several directories that need heat-harvesting, with several different IDs required.

EDIT: Still, no matter what my usage is, the heat.exe tool lists -directoryid as its parameter in its -?'s help, so it should really use that parameter, rather than the "undocumented" -dr.

barnson commented 2 months ago

They're both listed in -? and do different things:

   -directoryid  overridden directory id for generated directory elements
   -dr <DirectoryName>  directory reference to root directories (cannot contain spaces e.g. -dr MyAppDirRef)
madmaxoft commented 2 months ago

Right, I completely missed that. Though the description is so vague that I really thought what I needed was -directoryid. Sorry for the blunder.

barnson commented 2 months ago

Only so much doc you can squeeze into <80 characters. -directoryId is for MSBuild project harvesting.