Broken MSI Uninstall (Windows Installer)
Last tested: Windows 11 24H2
Symptoms
- Application still appears in Settings → Apps → Installed apps.
- Uninstall fails or does nothing.
- Error mentions missing
.msior.mstfile. - Example:
Cannot find:
C:\Windows\Installer\...\something.msi
or
Autodesk Genuine Service.mst
Step 1. Check whether the file actually exists
Test-Path "C:\path\to\missing\file.msi"or
Test-Path "C:\path\to\missing\file.mst"If it returns:
False
the installer cache is missing.
Search the entire drive:
Get-ChildItem C:\ -Filter "filename.msi" -Recurse -ErrorAction SilentlyContinueor
Get-ChildItem C:\ -Filter "filename.mst" -Recurse -ErrorAction SilentlyContinueStep 2. Find the MSI Product Code
Using CIM:
Get-CimInstance Win32_Product |
Where-Object {$_.Name -like "*Application Name*"} |
Select Name, IdentifyingNumberExample output:
Name IdentifyingNumber
Autodesk Genuine Service {83170d71-4e9d-459f-be9a-e12c6db2af55}
The IdentifyingNumber is the MSI Product Code.
Step 3. Verify the uninstall command
Read the uninstall registry entry:
Get-ChildItem HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall |
ForEach-Object {
Get-ItemProperty $_.PSPath
} |
Where-Object {$_.DisplayName -like "*Application Name*"} |
Select DisplayName, UninstallStringTypical output:
MsiExec.exe /X{GUID}
Step 4. Run the uninstall manually
Always use the Product Code:
msiexec /X "{PRODUCT-GUID}"Example:
msiexec /X "{83170d71-4e9d-459f-be9a-e12c6db2af55}"If successful:
- Windows Installer removes the registration.
- The application disappears from Installed apps.
Step 5. If uninstall still fails
Create a verbose MSI log:
msiexec /X "{PRODUCT-GUID}" /L*v C:\uninstall.logInspect the log for:
- Missing MSI
- Missing MST
- Missing InstallSource
- Access denied
- Error codes
Step 6. Last resort
If the installer database is corrupted:
- Use Microsoft’s Program Install and Uninstall Troubleshooter
- or manually remove the orphaned uninstall registry key (after exporting a backup).
Useful Commands
Check whether package still exists:
Get-CimInstance Win32_Product |
Where-Object {$_.Name -like "*Application Name*"}Check uninstall registry:
Get-ChildItem HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall |
ForEach-Object {
Get-ItemProperty $_.PSPath
} |
Where-Object {$_.DisplayName -like "*Application Name*"}Search for missing installer:
Get-ChildItem C:\ -Filter "*.msi" -Recurse -ErrorAction SilentlyContinueLessons Learned
- Do not delete files first.
- The MSI Product Code (GUID) is the authoritative identifier.
msiexec /X "{GUID}"often succeeds even when the original installer files appear to be missing.- The uninstall registry (
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall) is the best place to determine how Windows intends to remove the application. - Missing
.msi/.mstfiles usually indicate a Windows Installer cache issue, not necessarily an application problem.
Example (Autodesk Genuine Service)
Product Code:
{83170d71-4e9d-459f-be9a-e12c6db2af55}
Uninstall:
msiexec /X "{83170d71-4e9d-459f-be9a-e12c6db2af55}"Result:
- Successfully removed the orphaned MSI registration.
- Entry disappeared from Installed apps.