Closed robmen closed 4 months ago
Will it be a per-machine install?
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.
WIX
variable so this follows in that precedent but with SxS.Not seeing it. Where is wix-cli.msi available for download?
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.
Looked some more, it is at https://github.com/wixtoolset/wix/releases
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. Thewix-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 thatwix.exe
cannot be added to the PATH and instead will need to be referenced using an environment variable likeWIX#
where the#
is replaced by the major version of the WiX Toolset. For example:The wix-cli.exe will install the following:
wix.exe
- obviously, the replacement forcandle.exe
andlight.exe
heat.exe
- it is deprecated (useFiles
element instead) but will be included for compatibility purposes until wider deprecation notice can go out (WiX v6?)Considerations
dotnet tool install
to include a version of WiX in the CI/CD image, only one version of the WiX Toolset would be supported. It's much easier if thewix-cli.msi
installs WiX versions side-by-side.wix-cli.msi
needs to be introduced in the WiX v5 timeframe because WiX v6 will not be available until after WiX v3.14 is deprecated. There will NOT be a WiX v4 based wix-cli.msi