[wpkg-users] InnoSetup, uninsXXX.exe and "uninsXXX.dat is corrupted"
Paul McGrath
J.P.McGrath at leeds.ac.uk
Tue Nov 5 14:40:16 CET 2013
Innosetup usually does overwrite the unins000.exe but there are the occasional blips, often user related through testing or sometimes a poorly compiled setup program. I agree with Ulli that the best approach is to uninstall and delete the whole program folder and then upgrade. I handle it like this:
<install cmd='%SOFTWARE%\Dropbox\Dropbox.%version%.exe /verysilent' />
<upgrade include="remove" />
<upgrade include="install" />
<remove architecture="x86" cmd='"%PROGRAMFILES%\dropbox\unins000.exe" /verysilent' ><exit code="any" /></remove>
<remove architecture="x86" cmd='cmd /c rmdir /q /s "%PROGRAMFILES%\dropbox"' ><exit code="any" /></remove>
<remove architecture="x64" cmd='"%PROGRAMFILES(x86)%\dropbox\unins000.exe" /verysilent' ><exit code="any" /></remove>
<remove architecture="x64" cmd='cmd /c rmdir /q /s "%PROGRAMFILES(x86)%\dropbox"' ><exit code="any" /></remove>
So the upgrade uninstalls, deletes the program folder and then reinstalls. Nice and tidy
Paul
-----Original Message-----
From: wpkg-users-bounces at lists.wpkg.org [mailto:wpkg-users-bounces at lists.wpkg.org] On Behalf Of Ulli Conrad
Sent: 05 November 2013 13:07
To: wpkg-users at lists.wpkg.org
Subject: Re: [wpkg-users] InnoSetup, uninsXXX.exe and "uninsXXX.dat is corrupted"
Hi there,
On 5 Nov 2013 you wrote:
> The problem is that sometimes there is a "QT Lite\unins001.exe" and in
> this case, executing "QT Lite\unins000.exe" returns a popup error :
InnoSetup apparently doesn't overwrite uninst*.* files when upgrading, but increases filename.
Therefore I handle InnoSetup uninstallers by removing old uninst*.* files when upgrading:
<upgrade cmd='%COMSPEC% /C if exist
"%PROGRAMFILES(X86)%\AppInstalledByInnoSetup\unins*.*" del "%PROGRAMFILES(X86)%\AppInstalledByInnoSetup\unins*.*" /Q /F' />
InnoSetup will create them new (naming them uninst000.* ) when upgrading.
To be on the safe side, I'll check for uninstaller file names when
removing:
<remove cmd='%COMSPEC% /C if exist
"%PROGRAMFILES%\AppInstalledByInnoSetup\unins000.exe"
"%PROGRAMFILES%\AppInstalledByInnoSetup\unins000.exe" /VERYSILENT /NORESTART /SUPPRESSMSGBOXES />
Hope this helps
- Ulli -
-------------------------------------------------------------------------
Hotel discounts, best prices: http://www.booking.com/index.html?aid=366545
-------------------------------------------------------------------------
wpkg-users mailing list archives >> http://lists.wpkg.org/pipermail/wpkg-users/
_______________________________________________
wpkg-users mailing list
wpkg-users at lists.wpkg.org
http://lists.wpkg.org/mailman/listinfo/wpkg-users
More information about the wpkg-users
mailing list