Page 1 of 1

Install/Remove MSI Package doesn't uninstall

Posted: Thu Oct 29, 2009 9:04 am
by Frank
I'm trying to uninstall a previous version of our product. The installer for this version is not yet done in InstallAware, but in Inno Setup.

I've used the Insted tool to determine the package GUID and cross referenced this with the registry, it matches.
I made sure that the option "Package is InstallAware generated installation" is turned off.
Also the previous product version is in the Add/Remove Programs list in the Control Panel.

If I try and execute the script, I get a clear message that "this action is only valid for products that are currently installed".
What gives? The product is installed, it's even in the Add/Remove Programs. I don't know how to debug this issue. Does anyone have any pointers for me?

Posted: Tue Nov 03, 2009 9:37 am
by Frank
*kick*
No one has an :idea:??

Let me know when I need to give more input.

Posted: Wed Nov 04, 2009 5:09 pm
by neillans
What exactly is the script you are executing?

You should be able to start the uninstalling by using Run Program on the Uninstall entry that can be found in the original installations ARP key.

Note: Inno is not MSI based, so you can not use the MSI uninstall or upgrade detect support to auto-remove.

Posted: Thu Nov 05, 2009 2:28 am
by Frank
The script line is:

Code: Select all

Install/Remove MSI Package *hardcoded value*[REMOVE=ALL] (get results into variable REMOVEOLD)
which runs in the Install Application Pre-Requisites region, the package code was retrieved using InstEd. I'm using a hardcoded value for now, but once this works it'll be in a variable.
But this is all not relevant anymore, since I know that the previous installer was Inno :oops:

Can you explain to me what this ARP key is and where it's stored?

Posted: Mon Nov 09, 2009 4:58 pm
by neillans
The ARP key is HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall and this is used to populate the Add / Remove programs dialog. You will notice that the programs are identifed by the Product Code's that you set.

There are some very good reference pages on MSDN if you search for Add Remove Programs.

Posted: Tue Nov 10, 2009 2:06 am
by Frank
Thank you! I'm new to the 'installer world' so I didn't recognize it.
If I understand correctly I simple call:

Code: Select all

~InstallAware Clipboard Data~
~Run Program~
~{FC4B9E03-7A1F-4632-9BBF-324FA09C4869}~
~msiexec /x{PACKAGECODE}~
~FALSE~
~~
~FALSE~
~~
and the previous version will uninstall.

I'll try this. Thank you for you help.