Rex Pan
Rex Pan

Reputation: 2430

WiX setup detect and uninstall Inno setup

In WiX setup, I need to detect if previous version is installed using Inno setup and uninstall the previous version.

Upvotes: 2

Views: 444

Answers (1)

Rex Pan
Rex Pan

Reputation: 2430

<Property Id='INNO_UNINSTALLER_64'>
  <RegistrySearch Id='LocateInnoUninstaller64' Type='file' Root='HKLM'
                  Key='SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}_is1'
                  Name='UninstallString'>
    <FileSearch Id='InnoUninstallerExe64' Name='unins000.exe' />
  </RegistrySearch>
</Property>
<Property Id='INNO_UNINSTALLER_32'>
  <RegistrySearch Id='LocateInnoUninstaller32' Type='file' Root='HKLM'
                  Key='SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}_is1'
                  Name='UninstallString'>
    <FileSearch Id='InnoUninstallerExe32' Name='unins000.exe' />
  </RegistrySearch>
</Property>

<CustomAction Id="ca.RemoveInno64" Property="INNO_UNINSTALLER_64" ExeCommand="/SILENT" Return="check" />
<CustomAction Id="ca.RemoveInno32" Property="INNO_UNINSTALLER_32" ExeCommand="/SILENT" Return="check" />

<InstallExecuteSequence>
  <Custom Action="ca.RemoveInno64" Before="InstallFiles">INNO_UNINSTALLER_64</Custom>
  <Custom Action="ca.RemoveInno32" Before="InstallFiles"><![CDATA[INNO_UNINSTALLER_32 AND NOT INNO_UNINSTALLER_64]]></Custom>
</InstallExecuteSequence>

The code will search the Registry for Inno setup UninstallString and find the unins000.exe uninstaller. Inno setup registry

Upvotes: 4

Related Questions