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 .msi or .mst file.
  • 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 SilentlyContinue

or

Get-ChildItem C:\ -Filter "filename.mst" -Recurse -ErrorAction SilentlyContinue

Step 2. Find the MSI Product Code

Using CIM:

Get-CimInstance Win32_Product |
Where-Object {$_.Name -like "*Application Name*"} |
Select Name, IdentifyingNumber

Example 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, UninstallString

Typical 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.log

Inspect 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 SilentlyContinue

Lessons 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/.mst files 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.