256 is an important power of two, so I'm choosing to believe it bodes well that today's WiX Online Meeting #256 is the official kickoff for WiX v5 -- and WiX v4.0.1.
Regular readers of this blog might have noticed frequent mentions of WiX v4. Well, that was then. Now it's all about WiX v5. As we discussed previously, we're planning on annual releases for future versions of WiX. Working backward from 5-Apr-2024 -- one year after WiX v4's release -- gives us our WiX v5 schedule:
- v5.0.0-preview.1 on 5-Jan-2024
- v5.0.0-rc.1 on 5-Feb-2024
- v5.0.0-rc.2 on 5-Mar-2024
- v5.0.0 on 5-Apr-2024
There was some debate about whether the v5.0.0-preview.1 release should come earlier, like 5-Dec-2023, to get more testing time, though it meant the December holidays couldn't be used for development time. There were no firm conclusions, so that date might change. Stay tuned for news about what's planned for WiX v5.
Glancing at the issues up for triage, some feel serious enough to warrant a v4.0.1 bug-fix release of WiX v4. Rob proposed a v4.0.1 release date of 5-May-2023. I suggested an additional month as a hedge against future bugs suggesting the need for a v4.0.2. Some debate ensued and an exact date is yet to be decided. We'll take a look at the issues we've assigned to v4.0.1 at our next meeting (2-May) and decide how much more time is needed. So if you haven't tried to convert your projects to WiX v4 (still!), you're running out of chances to get fixes before WiX v5 next year -- unless you're a FireGiant customer; we've got you covered there.
v4 How To Guides, from @chrpai, asks about the state of the how-to guides that are available for WiX v3. At the moment, there are no plans to rewrite them for WiX v4; each needs to be reviewed to make sure it's still relevant in 2023 and beyond and rewritten for WiX v4. @chrpai volunteered to write a WIP that we can review and decide on a spot in the new WiX v4 documentation for new content.
WiX 4 package comments, from @mosBrkr, asks why the ability to set the comments field in the summary information stream was removed in WiX v4. That was part of our work to simplify authoring between the (former)
Packageelements. According to the MSI SDK, the summary information comments field "contains" a particular string. Other fields are documented to "should contain" certain data. We took "contains" to mean "must contain" and that might not be correct. So we're open to bringing back support for a
Commentsattribute on the
SummaryInformationelement. As is now tradition, we opened the issue into the
v5.0.0-preview.1milestone and if we get a pull request with good test coverage, we'd consider the issue for inclusion in WiX v4.0.1.
Wix v4 Burn - Image Control in a page is visible in other pages, from @wmanning, reports that an image control on a page in a ThmUtil theme is visible even on other pages. Sean volunteered to fix the issue in WiX v5.
WIX 4 SchedXmlConfig: Error 0x80070490: failed to find matching ElementId:, from @avivanoff, reports a runtime error using
XmlConfig's ability to tweak XML files. I investigated a bit prior to the meeting and feel it's a serious-enough problem to nominate straight into WiX v4.0.1. I also volunteered to take a first pass at a fix, even though, and I want to make this abundantly clear, I didn't introduce the bug. But I don't like to use the word hero...
WixInternalUIBootstrapperApplication Screen Flash, from @chrpai, reports the second time in WiX v4 that we have a mysterious flashing window where no window should be flashing. Are the two related? It's possible and @chrpai volunteered to investigated for possible inclusion in WiX v4.0.1.
Wix4: HarvestFile does not generate the registry information when harvesting a 64-bit Managed .NET COM DLL, from @kirazy, partially duplicates a long-standing issue that Heat doesn't support 64-bit COM registration harvesting in that Heat.exe is now available as a 64-bit executable but in MSBuild running .NET Framework, only the 32-bit Heat.exe is supported. This issue is
up for grabsto investigate and design a solution.
wix4: Directory SourceName produces incorrect DefaultDir value, from @matbech, reminds us that taking a bug fix late in a product cycle carries risks. According to Rob, a late fix before WiX v4 RTM exposed another bug that slipped through. Rob already had a pull request ready to send, as soon as he renamed the repo and set up the
developbranch to build WiX v5. We agreed this issue is serious enough to ship a fix in WiX v4.0.1.
Wix4: HarvestFile did not generate registration when harvesting a reg file, from @kirazy, requests support for harvesting the content of a .reg file. That's possible using Heat.exe from the command line, but it's not exposed via the harvesting MSBuild targets. This issue is
up for grabsto investigate and design a solution (like a new
HarvestRegFileitem with support in the harvesting MSBuild targets).
Prerequsite Required Dialog, from @chrpai, requests support in the new-to-WiX-v4
WixInternalUIBootstrapperApplicationBA to show which prerequisite packages need to be installed. Sean volunteered to investigate for WiX v5.
Build Requirements , from @chrpai, reports several missing items from the prerequisites listed in the WiX repo readme for developing WiX. It's hard to get the exact set of prerequisites because once you've got everything set up right, you're loath to disturb the magic. @chrpai volunteered to dig deeper into the exact requirements.
WixInternalUIBootstrapperApplication default splash screen, from @chrpai, suggests that when using
WixInternalUIBootstrapperApplicationfor your bundle, a splash screen is needed to handle focus correctly, like preventing the UAC prompt from trying to go incognito on the taskbar. I suggested providing a one-pixel transparent .png image as the default splash screen, but apparently the laughter wasn't of the "that's such a good idea" variety I'm used to getting. Sean is looking into this for WiX v5.
[Accessibility] GUI items are in wrong order in VerifyReadyDlg in WixUIExtension lib and [Accessibility] wixtoolset does not offer alternative text to WixUI_Bmp_Dialog and WixUI_Bmp_Banner image, both from @pengzhencao, report accessibility issues in the WixUI dialog library. Unfortunately, we're still looking for accessibility experts for help deciphering accessibility issues and how we might fix them given the limitations of Windows Installer internal UI. These issues are
up for grabsuntil then.
Wix4: PackageState incorrectly set to Cached instead of Present in managed bootstrapper application , from @brownard, sadly reports a mismatch between enumeration values in the Burn engine and the managed layer. Because Burn is implemented in C++ and the managed layer in C#, some information has to be copied instead of shared. That can lead to a disconnect, which happened here. Sean volunteered to fix the C# side in WiX v4.0.1.
[WiX4] Ignores new .Net 8 preview 3 unified artifacts, from @MarkStega, requests support for the new-to-.NET-v8 simplified output path. As that was shipped the week after WiX v4, it's something the WiX MSBuild targets will have to adapt to. Rob took this issue for WiX v5.
XMLConfig decompiler produced custom table instead of XMLConfig element, from @fyodorkor, comes complete with a pull request to fix the decompilation of packages that use
XmlConfig. We opened the issue into WiX v5 and with the addition of unit-test coverage, we'd take the fix in WiX v4.0.1.
System.ArgumentNullException when Component Element has SubDirectory attribute but no Directory Attribute (or on parent), from @chrpai, reports that saddest of all bugs: an unhandled exception (formerly known as a crash). Rob already has a pull request ready to go into WiX v5 and we'll take the fix in v4.0.1 too (also).
Harvesting Project Names with Spaces, from @mwileczka, is yet another issue that comes with a pull request ready for review And can I just take a moment to say it softens the hardened heart of this sometimes-jaded open-source maintainer to see issues coming with fixes. That said, we're looking for unit tests for fixes, for both WiX v5 and especially WiX v4.0.1. We want to keep increasing our code coverage, lest we slip back into "we have tests but they're unreliable so we never run them and they get more unreliable" mode.
MSM Validation Still Broken in v4.0.0, from @chrpai, reports a bug that was partially -- but not, apparently, completely -- squashed in WiX v4. I did some brief investigation into the problem and can see how one of the error messages during merge module validation can appear. That leaves two error messages, so I took the bug for further investigation and hopefully one or more fixes in WiX v4.0.1.
DowngradeErrorMessage instead of DisallowUpgradeErrorMessage when Disallow is set to 'yes', from @timberto, reports a bug in the handling of some of the attributes of the
MajorUpgradeelement. And, again, with the pull request! Though we're again looking for unit tests for a fix to be included in WiX v4.0.1.