cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Webster
Level 3

How do I uninstall an 'old' MSI

We have an application that was developed and packaged using Installshield several years ago (sorry, I don't know the version). We are now rolling out a new version but need to get users to uninstall the old version first.
In testing, we have discovered that the old MSI only appears in Control Panel add/Remove Programs if you are logged in as the person who did the original installation. Is there an MSIEXEC command I can use that will uninstall the MSI no matter who I am logged in as?
Labels (1)
0 Kudos
(5) Replies
gbaltazar
Level 6

You can use the uninstallstring:

msiexec /x /qn

using the ProductCode of your old version.
0 Kudos
gbaltazar
Level 6

if you need to uninstall the old version, you can also add entries to your new MSI's upgrade table to detect the upgradecode of your old application.
0 Kudos
Webster
Level 3

I tried msiexec /X {productCode} but this failed. I am beginning to think that application was installed as a per-user install rather than for all users of the system so can this be uninstalled as a different user?

What happens if the user account that did thhe original install has been deleted and no longer exists?
0 Kudos
Webster
Level 3

Hi again - I used Orca to look inside the old MSI. It does not seem to have an upgrade code and also it looks as if it was installed for all users. I can only assume it was a badly written MSI.

How do I uninstall it if the user account that did the original intall no longer exists?
0 Kudos
Christopher_Pai
Level 16

http://blogs.msdn.com/windows_installer_team/archive/2006/05/24/605835.aspx

See Rule #30. Per-User installs can only be serviced by the user who did the install. Even if you had the original MSI, doing an msiexec /x foo.msi wouldn't work because the MSI metadata is not in the scope of your profile. It's in the scope of the user who did it.
0 Kudos