wixtoolset / issues

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

Produce a wix-cli.msi #8623

Closed robmen closed 4 months ago

robmen commented 4 months ago

User story

Proposal

CI/CD systems start their VMs with a build image containing popular developer tools. Today, most of those images include WiX v3. WiX v4+ provided new acquisition models using dotnet tool install or MSBuild Sdk-style support. Both of those options download tooling from nuget.org. This works in almost all cases, but some users may still like to have a version of the WiX Toolset that is always available in the CI/CD image.

Therefore, we will produce a per-machine wix-cli.msi that contains WiX's command-line tools. CI/CD providers can then easily include that MSI in their image. The wix-cli.msi will install major versions side-by-side to allow CI/CD images to contain multiple versions in case of breaking changes. This means that wix.exe cannot be added to the PATH and instead will need to be referenced using an environment variable like WIX# where the # is replaced by the major version of the WiX Toolset. For example:

C:\> %WIX5%wix.exe build

The wix-cli.exe will install the following:

Considerations

barnson commented 4 months ago

Will it be a per-machine install?

bevanweiss commented 4 months ago

For the bike-shedding, I feel that %WIX#_DIR% might be a bit more 'descriptive' for it being the actual WIX# directory path. WIX# to me feels like a true(1)/false(0) indication that WIX version # is available.

It would also be nice if there were a way to just have a WIX_DIR which would reference the 'highest' installed WiX version. In this way build scripts etc don't necessarily need to change with a new version of WiX being in use.

robmen commented 4 months ago
  1. WiX v3 set the WIX variable so this follows in that precedent but with SxS.
  2. Since there are breaking changes across major versions, there isn't much value in setting a variable to the highest version. Pick the one you want and use it.
js69 commented 4 months ago

Not seeing it. Where is wix-cli.msi available for download?

bevanweiss commented 4 months ago

Not seeing it. Where is wix-cli.msi available for download?

You could look in the artifacts from the build. But you're probably better off waiting for an official versioned release.

js69 commented 4 months ago

Looked some more, it is at https://github.com/wixtoolset/wix/releases