4. Using the cached MSI database in the super hidden cache folder
- MSI strips out all cabs (older Windows versions) and caches each MSI installed in a super-hidden system folder at %SystemRoot%\Installer (you need to show hidden files to see it).
- NB: This supper-hidden folder is now being treated differently in Windows 7 onwards. MSI files are now cached full-size. Read the linked thread for more details - recommended read for anyone who finds this answer and fiddles with dangerous Windows settings.
- All the MSI files here will have a random name (hex format) assigned, but you can get information about each MSI by showing the Windows Explorer status bar (View -> Status Bar) and then selecting an MSI. The summary stream from the MSI will be visible at the bottom of the Windows Explorer window. Or as Christopher Galpin points out, turn on the “Comments” column in Windows Explorer and select the MSI file (see this article for how to do this).
- Once you find the right MSI, just right click it and go Uninstall.
- You can also use PowerShell to show a list of all packages with the full path to the locally cached package included - this is the easiest option in my opinion.
|get-wmiobject Win32_Product||Format-Table Name, LocalPackage|
5. Using PowerShell
$app = Get-WmiObject -Class Win32_Product -Filter “Name = ‘YOUR_APP’” $app.Uninstall()
- Entry added by Even Mien
- I have not tested this myself, but it appears $app.Uninstall() may run the UninstallString registered in the ARP applet’s registry settings. This means it may run modify instead of uninstall in some cases.
- Check this topic for more details and ways to uninstall via Powershell: How can I uninstall an application using PowerShell?