/build/static/layout/Breadcrumb_cap_w.png

Can't Uninstall a MSI

I ran a native MSI file on my machine. It does not put anything under the Add/Remove programs in Control Panel so I can't uninsall it. Also, I looked here: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData and I found the product code for this MSI yet when I run msiexec.exe /x {prodcode} it tells me this will only work for an applicaiton that is installed.

What gives?

I thougth all apps will put an entry under HLKM\Software\Microsoft\Windows\CurrentVersion\Uninstall yet I have seen MSI's "not" do this. Why?

Thanks for any help.

0 Comments   [ + ] Show comments

Answers (6)

Posted by: turbokitty 17 years ago
6th Degree Black Belt
0
Check your event viewer... it should have some info in there.
Posted by: mhsl808 17 years ago
Fifth Degree Brown Belt
0
No, there was nothing there either......
Posted by: turbokitty 17 years ago
6th Degree Black Belt
0
Is there an entry for the installation?
Posted by: gizmolala 17 years ago
Third Degree Blue Belt
0
Go to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall. Try and find ur application by clicking each on the product code. When found, copy the UninstallString (e.g MsiExec.exe /X{308CD612-FC41-4351-858A-ABDC1BA612F8})and paste it at the RUN menu. Then run from there.

Giz
Posted by: AngelD 17 years ago
Red Belt
0
Have to tried just to double-click the msi again, you should be able to either modify, repair or uninstall.

Or you could use:
Add the code bellow to a vbscript file (ex. GetProductCode.vbs).
Drop the MSI on the script or put the MSI as the argument to it (ex. cscript GenProductCode.vbs Install.msi) and this will output the ProductCode that you then could use "msiexec /x {ProductCode}" for.
Const msiOpenDatabaseModeReadOnly = 0

Dim MsiPath : MsiPath = WScript.Arguments(0)
Dim Installer : Set Installer = CreateObject("WindowsInstaller.Installer")
Dim Database : Set Database = Installer.OpenDatabase(MsiPath, msiOpenDatabaseModeReadOnly)
Dim View : Set View = Database.OpenView("Select * From `Property` WHERE Property = 'ProductCode'")
View.Execute
Dim Record : Set Record = View.Fetch

WScript.Echo "ProductCode: " & Record.StringData(2)
Posted by: mhsl808 17 years ago
Fifth Degree Brown Belt
0
Coo, I will give that a shot. Thanks!!
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ