In WiX files, what does Name=”SourceDir” refer to?

From: Honestly, it’s something that we should have hidden from the developer but didn’t. Sorry. The truth of the matter is that the Windows Installer expects the Directory tree to always be rooted in a Directory row where the primary key (Directory/@Id) is “TARGETDIR” and the DefaultDir column (Directory/@Name) is “SourceDir”. During an install, … Read more

Failing condition wix

NOTE: The below has not been tested extensively – conditions are notorious for being difficult to get right. Testing conditions requires real-world testing. A few more links: Condition debugging WiX launch conditions Wix Tools update uses old custom actions (example of complex conditions) How to add a WiX custom action that happens only on uninstall … Read more

WIX merge c++ runtime

It seems Microsoft recommends you use one of the redist executables (vcredist_x86.exe, vcredist_x64.exe) instead of the merge modules (see towards bottom) these days since the 2015 versions of the runtimes are more complicated than before and the merge modules are basically insufficient: “There will not be a merge module for the Universal CRT“. UPDATE: How … Read more

Windows installer deletes versioned file during product upgrade, instead of downgrading it

We also encountered this problem where lower-versioned DLLs were not getting reinstalled on a major upgrade. I thought it was strange that the installer would decide which files to install based on the versioning of existing files, then completely uninstall everything, but still only install what what files had been determined to install before uninstalling … Read more

Wix toolset license agreement multi-languages issue

This sounded quite mysterious. A quick search found this existing question: Wix string with characters not available in database ‘s codepage although codepage is set. It seems there is a separate code page setting for the MSI’s summary stream – Codepage Summary property – which is different from the package’s main code page setting. I … Read more