WiX: Forcefully launch uninstall previous using CustomAction

Posted by leiflundgren on Stack Overflow See other posts from Stack Overflow or by leiflundgren
Published on 2010-04-23T22:28:23Z Indexed on 2010/04/23 22:33 UTC
Read the original article Hit count: 349

Filed under:

I'm writing a new major upgrade of our product. In my installer I start by finding configuration settings of the previous version, then I'd like to uninstall the previous version.

I have found several guides telling me how one should make a MSI suitable for such upgrades.

However, the previous was not an MSI.
It was not according to best practices.

It does, however, in registry HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{GUID} specify an UninstallString.

Using a RegistrySearch I can easy find the command below, which I store in UNINSTALL_CMD.

RunDll32 C:\PROGRA~1\COMMON~1\INSTAL~1\PROFES~1\RunTime\10\01\Intel32\Ctor.dll,LaunchSetup 
    "C:\Program Files\InstallShield Installation Information\{GUID}\setup.exe"
    -l0x9  -removeonly 4:  

I cannot get the hang of the CustomAction needed to perform the actual uninstall.

       <CustomAction Id="ca.UninstPrev" Property="UNINSTALL_CMD" ExeCommand="" />

The MSI logs says:
Info 1721. There is a problem with this Windows Installer package. A program required for this install to complete could not be run. Contact your support personnel or package vendor. Action: ca.UninstallPrevious, location: RunDll32 C:\PROGRA~1\COMMON~1\INSTAL~1\PROFES~1\RunTime\10\01\Intel32\Ctor.dll,LaunchSetup "C:\Program Files\InstallShield Installation Information{GUID}\setup.exe" -l0x9 -removeonly, command:

Anyone seeing what I am doing wrong here?

Regards
Leif

© Stack Overflow or respective owner

Related posts about wix