What to do if no Uninstall String found after MSI installation?
Hello, All.
There's an MSI application that has no Uninstall key GUID. HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{GUID} so I can't uninstall ot using msiexec /x GUID.
Is there any Property to add in MST so it will produce the key in HKLM?
Answers (4)
Ensure that RegisterProduct standard action is present in the execute sequence
Comments:
-
Yes. This is the answer. RegisterProduct is not present in MSI. I just added this action together with Publish Product, Components and features - ajcbasilio 11 years ago
There are lots of possible answers to your question, so I'm going to run down all of them.
If you're running on a 64-bit version of Windows, you'll find that GUIDs are stored in both:
- HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{GUID}
- HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{GUID}
If the application in question was installed without Administrator permission, you might also find it in the HKCU hive rather than HKLM. (I don't recall where you'd find it in that case, but you might be able to locate it with a search.)
If you have a tool for opening the MSI file (e.g., the free Orca or InstEd editors), look in the Property table for the ProductCode property. This should work with the MSIEXEC /X command to uninstall it.
Even if you can't find the ProductCode property for some reason, you should also be able to uninstall the application using:
msiexec /x "\\path\to\msi\yourinstaller.msi"
Where the part inside the quotes above is modified to match the full path to the MSI file that the application was originally installed from.
Did you try searching for the application's name under the "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" key? Some software does not populate with a GUID, but instead use the name of the software itself. For those, like the others that are listed by GUID, have an "UninstallString" value that can be used to uninstall the software with.