Today's meeting was longer than normal because certain issues prompted extended discussion. The issues prompting extended discussion came from Sean. I'm sure it's a coincidence...

Issue triage

  • Move DisplayInternalUI attribute out of core and into BalExtension, from @rseanhall, is the issue and WiX Improvement Proposal that proposes to move support for internal MSI out of the Burn engine into bootstrapper applications, including WixStdBA. We've talked about this idea in the past and Sean's gunning to get it implemented.

  • Light Fails With MsiGetFileVersion on Windows 1809, from @ajorians, requested a retry mechanism to work around a bug present in Windows version 1809 and since fixed in Windows version 1909. While we favor retry mechanisms for i/o errors--for example, to work around annoyingly aggressive anti-virus scanning--in this case, the error presented as an AccessViolationException that crashed Light.exe. Catching an AccessViolationException was something we decided we weren't comfortable doing--there are no guarantees the process is in a good state at that point.

  • Remove outdated documentation, from @barnson, is a brilliant suggestion that we stop suggesting the use of the Visual C++ redistributable merge modules. The Visual C++ team has indicated that the executable redistributables are preferred, so out documentation should reflect that.

  • WixNative should provide a heartbeat so WiX can know if it's hung, from @barnson, suggests that it would be useful for the build process to be able to get progress information (even if it's indeterminate) during the cab-creation process. Building cabs, especially with higher compression levels, can take a long time, so it's useful to be able to determine that the work isn't hung.

  • There should be some kind of message when mixing MSI and Bundle, from @rseanhall, revolves around a way of preventing MSI-specific and bundle-specific concepts from being commingled. For example, it's not an error to include a RegistrySearch element in a fragment that's referenced under Bundle. WiX helpfully ignores the RegistrySearch because bundles can't use the Windows Installer RegistrySearch/RegLocator functionality. A warning might nudge a user to use the RegistrySearch in WixUtilExtension, which is how bundles can search the registry. There are a few ways we could do this and we talked about most of them.

WiX v3.14

As planned, on Friday we'll release a new build of WiX v3.14 containing the latest fixes. On the day, you can find the release on the WiX Toolset Web site under Development Releases.