Page 1 of 1

(Un)Install MSI Setup launching repair, not remove

Posted: Wed Dec 03, 2008 1:49 pm
by jsmith
I'm using the Get Product Code from Upgrade Code plugin to get the product code for my old installers that were built using Visual Studio Setup. The plugin is working great. But when I try to uninstall the old version based on the Product Code returned from the plugin, it seems to be running a repair instead of an uninstall. Nothing is removed and a message gets written to the Application Event Log that says, "Configuration completed successfully." This is the same as what it shows when I manually "repair" the old installation.

Here's how my call to (Un)Install MSI Setup looks:

[copied as text]
Install/Remove MSI Package $OLDPRODUCTCODE$[REMOVE=ALL] (get result into variable REMOVEOLD)
[/copied as text]

[copied as code]
~InstallAware Clipboard Data~
~(Un)Install MSI Setup~
~{MY_PRODUCT_CODE_GUID}~
~REMOVE=ALL,TRUE,$OLDPRODUCTCODE$,FALSE,,,REMOVEOLD,ERROROLD,TRUE~
~mMSI.dll\\mMSIExec.dll~
[/copied as code]

I check that $REMOVEOLD$ is not equal to ERROR afterwards and it's not. It seems that the call to (Un)Install MSI Setup is completing successfully; it's just doing the wrong thing. It's not uninstalling even though I'm passing "REMOVE=ALL".

Any thoughts? Anyone had this happen before?

Posted: Wed Dec 03, 2008 2:57 pm
by jsmith
I should mention that the uninstall works correctly if I call it from the command line, thusly:

msiexec /i {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} /qn REMOVE=ALL

where "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}" is the actual product code from my old, pre-InstallAware installation.


I imagined that this is the same thing that (Un)Install MSI Setup is doing, but apparently not because I get different results when I run this command manually versus when my InstallAware-built installer calls (Un)Install MSI Setup.

Posted: Thu Dec 04, 2008 4:33 pm
by jsmith
I had "Package is InstallAware generated installation" checked on the "Package" tab of the (Un)Install MSI Package dialog. In this case my old package is not an IA installer; it came from Visual Studio setup. Un-checking that check box caused the uninstallation of the old package to complete successfully.