WiX Online Meeting 296 Highlights

Wednesday, June 18, 2025

It's summer here in the Northern Hemisphere and the angry day star is making things hot and sweaty. A great alternative is staying in an air-conditioned office fixing bugs and adding features to your favorite open-source project. You can also try fixing bugs and adding features to your favorite open-source project from the beach, but the sand gets everywhere.

WiX v6.0.1

As we predicted in our last meeting, we celebrated the two-month anniversary of WiX v6.0.0 with the release of WiX v6.0.1.

WiX v6.0.1 fixed the following bugs:

Issue triage

  • Add Open EULA command to WixStdBA, from @wixbot, is so old, it’s recorded as being opened by @wixbot, instead of by your humble reporter. The issue came from another issue that requested a Print button for an RTF EULA in a WixStdBA bootstrapper application. My response was to say we should let WordPad do it, as we could easily invoke it against the RTF file. Alas, in the intervening years, WordPad was removed from Windows because the Windows team apparently hates simple and effective tools. Therefore, this approach is null and void and, unfortunately, the idea of printing the EULA is hereby revived.

  • File writes outside of working directory when repacking an MSI file, from @drauch, asserts that the DTF InstallPackage class should not write arbitrary files in the user’s TEMP/TMP directory. OK, that’s a perfectly reasonable up for grabs request.

  • Add exists option to ProductSearch Result for matching other search types, from @metsma, requests (and provides an implementation of) a simpler exists result for the bundle ProductSearch feature. That’s a good idea, so Rob volunteered to review the pull request.

  • Adding Project Reference Breaks Files Harvesting, from @chrpai, points out a bad decision that someone made when implementing the Files element in WiX v5: A relative path provided in the Files/@Include attribute changes its behavior based on whether there are any unnamed bind paths specified in the build. With none, the path is relative to the source .wxs file. With an unnamed bind path, the path is resolved relative to the unnamed bind path. Adding a project reference implicitly creates an unnamed bind path, which silently changes the behavior of Files harvesting. I clarified the documentation to consistently document this (admittedly odd) behavior but will create a WIP to suggest picking one of these behaviors as the “right” one and make it a breaking change in WiX v7.

  • GitHub Actions runners should not throw errors or hang, from @barnson, is the result of a frustrating experience on the day we released WiX v6.0.1. Changes in the build runners backing our GitHub Actions caused test failures that didn’t show up in our local builds. If you ever doubted the rationale of the Open Source Maintenance Fee, watch as Rob and I spend hours battling the build that had worked just a few days before. I rewrote the tests to accommodate the changes on the build runners so WiX v7 builds could get back on track.

  • MsiLockPermissionsEx is not decompiled, from @barnson, was a late-night discovery that packages using the PermissionEx element—the one in the core WiX namespace that uses MsiLockPermissionsEx, not the one in the WixToolset.Util.wixext extension—were producing confusing warning messages instead of useful decompiled output. I’m not a big fan of the former, so I opened a pull request to get the latter.

by Bob Arnson on Wednesday, June 18, 2025

Get Setup Matters in your inbox

Be the first to know when a new post is up.