Reputation: 2430
In WiX setup, I need to detect if previous version is installed using Inno setup and uninstall the previous version.
Upvotes: 2
Views: 444
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.
Upvotes: 4