Wix custom uninstallation action – how to run before msi removing files

The problem is that my custom uninstallation action runs after the removal of standard install files That’s because you have scheduled it before InstallFiles, which comes after RemoveFiles in a standard InstallExecuteSequence. You can also open your MSI file in an editor like Orca or InstEd and have a look at the InstallExecuteSequence table. Sort … Read more

MSI Reference Counting: Two products install the same MSIs

The first thing that comes to mind with this question is whether the products in question are decomposed the way they should be. As a general rule all MSI files think they own whatever they install, and they will uninstall everything attached to a component GUID inside the MSI on uninstall if the reference count … Read more

Wix Interactions with Conditions, Properties & Custom Actions

http://www.mail-archive.com/wix-users@lists.sourceforge.net/msg05097.html gives an solution to republish the properties that were changed in the custom action immediately after it. Here is an example of how I have gotten it to work in my code: <?xml version=”1.0″ encoding=”utf-8″?> <Wix xmlns=”http://schemas.microsoft.com/wix/2006/wi”> <Fragment> <Binary Id=”ConnectionStringExtension.dll” SourceFile=”$(var.ConnectionStringExtension.TargetDir)$(var.ConnectionStringExtension.TargetName).CA.dll” /> <CustomAction Id=”MyCustomAction” BinaryKey=”ConnectionStringExtension.dll” DllEntry=”VerifyConnectionString” Execute=”immediate” /> <UI> <Dialog Id=”ConnectionStringDlg” Width=”370″ Height=”270″ Title=”Database … Read more

Wix and .NET Framework (prerequisites)

UPDATE Aug 2017: This very nice answer now appears outdated. Please also read the other answers in the “thread” for a few different “bootstrapper options”. The MSI package created by Wix is not able to do that. Windows Installer is rather limited and one MSI file (your installer) is not allowed to call another MSI … Read more

What alternatives are there to ClickOnce? [closed]

Squirrel: It’s like ClickOnce, but it works. Squirrel is both a set of tools and a library, to completely manage both installation and updating your desktop Windows application, written in either C# or any other language (that is, Squirrel can manage native C++ applications). Squirrel uses NuGet packages to create installation and update packages, which … 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