[wix-users] remove old product installed without Windows Installer

Alan Sinclair anadem at gmail.com
Sun Aug 27 21:02:19 PDT 2017

thanks Blair and Jacob

The safe way sounds good .. I'll read up about burn etc. Unfortunately it's
10+ years since I did any of this so I'm behind the times and have
forgotten a lot too.

I can get the uninstall done from the MSI with RegistrySearch for
InnoSetup's uninstall string then WixQuietExec as an immediate CA after
CostFinalize, but it feels a little unreliable and not customer-friendly if
the uninstall fails.

Fwiw the condition in my post was wrong, should have been [CDATA[  not
INNOUNINSTALL ] .. I'm rusty.

thanks again

On Fri, Aug 25, 2017 at 12:32 PM, Hoover, Jacob <Jacob.Hoover at greenheck.com>

> Safest way is to:
> A) Have your MSI block installation if it detects the presence of the
> older installer
> B).1 Write a stub exe that can lookup the previous install and invoke it's
> uninstallation
> B.2) Package your MSI using burn, and use the exepackage in the chain
> before your msi to call the stub in B.1.
> -----Original Message-----
> From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf
> Of Blair Murri
> Sent: Friday, August 25, 2017 10:37 AM
> To: Alan Sinclair <anadem at gmail.com>; wix-users at lists.wixtoolset.org
> Subject: Re: [wix-users] remove old product installed without Windows
> Installer
> Referring to your debug installer log when the key is to set, what value
> does the property INNOUNINSTALL contain?
> Blair Murri
> Sent from my Windows 10 phone
> From: Alan Sinclair<mailto:anadem at gmail.com>
> Sent: Thursday, August 24, 2017 11:10 AM
> To: wix-users at lists.wixtoolset.org<mailto:wix-users at lists.wixtoolset.org>
> Subject: [wix-users] remove old product installed without Windows Installer
> I need to check for an older version of a product which used InnoSetup
> installer, and if possible remove it, but I'm stuck on details so would
> very much appreciate any help or pointers.
> InnoSetup sets its uninstall string in HKCU:
> HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall\
> Myprod_is1
>     UninstallString =
> "C:\Users\AlanSinclair\AppData\Local\Programs\Myprod\unins000.exe"
> So I check for the older product with this registry search, and ideally
> I'd run the uninstaller before proceeding with the new install - is that
> possible?  So far I've tried to set a launch condition, but it is triggered
> regardless of whether the key's set. What's wrong with this?:
> <Property Id="INNOUNINSTALL">
>   <RegistrySearch Id="InnoRemove"
>     Root="HKCU"
> Key="Software\Microsoft\Windows\CurrentVersion\Uninstall\Myprod_is1"
>     Name="UninstallString" Win64='yes' Type="raw" /> </Property>
> <Condition Message="Previous installation of Myprod must be removed">
> </Condition>
> Do I need some kind of wrapper that does the check before starting my
> install?  If so, what's the simplest way to do that?
> Finally, is this mailing list archived somewhere searchable, to avoid
> asking questions that have already been answered?
> Many thanks
> Alan

More information about the wix-users mailing list