What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
MSI-installed applications are programs installed through Windows Installer packages, usually files ending in .msi. “MSI-installed applications” is a descriptive term, not a separate Windows feature. To manage one safely, first confirm its package type, installation scope, and Windows Installer product code. Then use registry-based inventory for discovery and msiexec.exe for supported repair or removal.
What “MSI-installed” means
MSI stands for Microsoft Installer; Microsoft now generally calls the technology Windows Installer. An MSI package contains installation instructions for files, components, features, shortcuts, services, registry values, upgrades, and removal. The original .msi file may no longer be in Downloads because Windows Installer can cache package data locally.
An .exe setup program can still install an MSI underneath. Conversely, software listed in Windows Installed apps is not automatically MSI-based. EXE installers, MSIX/AppX packages, Microsoft Store apps, portable programs, ZIP-extracted tools, and Microsoft 365 Click-to-Run use different management systems.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →How to tell whether a program uses MSI
The strongest practical clue is an uninstall command containing MsiExec.exe /I{GUID} or MsiExec.exe /X{GUID}. The GUID is normally the MSI ProductCode. An inventory system that reports a product code, or the original installer being an MSI file, is also strong evidence.
#1 Best Overall
Seeing an entry in Programs and Features, Settings, or an uninstall list is only a weak indicator. Non-MSI installers can create similar registry entries, while an MSI package can hide or alter its Add/Remove Programs entry with properties such as ARPSYSTEMCOMPONENT. Microsoft documents these visibility and per-user/per-machine behaviors in its Windows Installer Add/Remove Programs guidance.
List installed software without triggering repairs
For a local check, inspect uninstall registry keys rather than starting with the WMI Win32_Product class:
$paths = @(
'HKLM:SoftwareMicrosoftWindowsCurrentVersionUninstall*',
'HKLM:SoftwareWOW6432NodeMicrosoftWindowsCurrentVersionUninstall*',
'HKCU:SoftwareMicrosoftWindowsCurrentVersionUninstall*'
)
Get-ItemProperty $paths -ErrorAction SilentlyContinue |
Where-Object { $_.DisplayName } |
Select-Object DisplayName, DisplayVersion, Publisher,
InstallDate, UninstallString, QuietUninstallString, PSPath |
Sort-Object DisplayName
This reports registered applications, not a guaranteed list of every MSI product. On 64-bit Windows, the WOW6432Node path covers many 32-bit products; a 32-bit and 64-bit PowerShell process can also see different registry views. The per-user HKCU path matters when software was installed only for the signed-in account.
To find entries that probably use Windows Installer, filter the uninstall command:
Get-ItemProperty $paths -ErrorAction SilentlyContinue |
Where-Object {
$_.DisplayName -and (
$_.UninstallString -match '(?i)msiexec' -or
$_.QuietUninstallString -match '(?i)msiexec'
)
} |
Select-Object DisplayName, DisplayVersion, Publisher,
InstallDate, UninstallString, QuietUninstallString
This is a heuristic. Some vendors omit or customize uninstall values.
Why not use Win32_Product as your normal inventory command?
Get-CimInstance Win32_Product is slow and can cause Windows Installer consistency checks or repairs for registered MSI products. That may generate installer activity, event-log entries, source requests, or unexpected prompts. It also does not inventory non-MSI software. Microsoft guidance recommends registry-based discovery or a trusted inventory platform instead; see the Windows IT Pro discussion of safer detection strategies.
Where MSI information lives
Common uninstall locations are:
HKLMSoftwareMicrosoftWindowsCurrentVersionUninstall(machine-wide 64-bit view)HKLMSoftwareWOW6432NodeMicrosoftWindowsCurrentVersionUninstall(many 32-bit products on 64-bit Windows)HKCUSoftwareMicrosoftWindowsCurrentVersionUninstall(current-user registrations)
Windows Installer also maintains internal product, feature, component, patch, and cached-package data. Do not delete those registry records or cached files manually: doing so can leave the product impossible to repair or remove cleanly.
Free tools Windows power users keep installed
One-click scans. No signup required.
Find the MSI product code
For ordinary uninstall and repair, you need the ProductCode, usually formatted like {12345678-1234-1234-1234-123456789ABC}. Find it in the registry’s uninstall command, an endpoint-management inventory record, deployment metadata, or the MSI database’s Property table.
Do not confuse identifiers:
- ProductCode: identifies the installed product.
- PackageCode: identifies a particular MSI package build.
- UpgradeCode: identifies a related product family.
- PatchCode: identifies an MSP patch.
Use ProductCode for a normal installed-product operation.
Uninstall an MSI product
From an elevated Command Prompt or PowerShell window:
msiexec.exe /x {PRODUCT-CODE-GUID}
/uninstall is equivalent to /x. For a silent removal that should not restart Windows automatically:
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Clear out junk files and repair common Windows errors3Scan for outdated or missing drivers - takes under a minutemsiexec.exe /x {PRODUCT-CODE-GUID} /qn /norestart
If the MSI file is available, this is also valid:
msiexec.exe /x "C:InstallersProduct.msi"
Using the registered product code is usually more dependable when the original file has moved. Add verbose logging when troubleshooting:
Rank #3
msiexec.exe /x {PRODUCT-CODE-GUID} /L*V "%TEMP%product-uninstall.log"
The log can expose a missing source, access denial, policy restriction, pending reboot, custom-action failure, or product-code mismatch. A per-machine product normally requires elevation; a per-user product may be visible and removable only in that user’s context.
Repair an MSI application
A standard full-file repair is:
msiexec.exe /fa {PRODUCT-CODE-GUID} /L*V "%TEMP%product-repair.log"
The /f options let you choose a less disruptive repair:
/fpmissing files/fomissing or older files/femissing or equal/older files/fcfiles whose checksums do not match/faall files/fuuser-specific registry entries/fmmachine-specific registry entries/fsshortcuts/fvrun from source and recache the package
Repair may require the original MSI, an equivalent package version, or an accessible administrative installation point. Do not assume a cached package can satisfy every repair mode.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Install and deploy MSI packages
Local installation uses:
msiexec.exe /i "C:InstallersProduct.msi"
msiexec.exe /i "C:InstallersProduct.msi" /qn /norestart
An .msi extension does not guarantee a completely unattended deployment. Packages may need prerequisites, transforms, public properties, a license value, network access, elevation, or a reboot.
Intune
A simple MSI can be deployed as a Windows line-of-business app. Complex packages are often wrapped as Win32 .intunewin apps. Managed Intune installations must be silent and noninteractive, with detection rules, requirements, dependencies, and a chosen user or device context. An uninstall command can be:
msiexec /x "{12345A67-89B0-1234-5678-000001000000}" /quiet
Microsoft documents a 30-GB maximum Windows application size for Win32 management, a default 60-minute installation timeout, and a maximum documented timeout of 1,440 minutes in its Win32 app guidance. Remove conflicting install assignments before assigning removal: an applicable install assignment can continually reinstall an app.
Configuration Manager, winget, and third-party tools
- Configuration Manager: suited to traditional or co-managed enterprises needing collections, dependencies, task sequences, and detailed reporting.
- winget: useful for catalog-listed installs, upgrades, and removals, but its package identity is not the same as an MSI ProductCode and many internal MSIs are absent.
- Third-party tools: useful for fleet inventory, remote uninstall, patching, and packaged software libraries when an MDM platform is unnecessary.
Per-user versus per-machine installations
| Scope | Typical behavior |
|---|---|
| Per-machine | Installed for the computer, usually requires elevation, visible to all users, commonly inventoried in HKLM. |
| Per-user | Installed in one profile, may appear only to that user, registered in HKCU, and can be missed by an agent running as Local System. |
The same application can exist in both scopes, producing apparent duplicates. Compare product codes, versions, registry paths, publisher, and uninstall commands before removing anything.
Recommended Free Tools
Why an MSI product is missing or appears twice
Missing entries can result from another user’s per-user install, a suppressed Add/Remove Programs record, damaged registration, a different 32-bit registry view, an incomplete installation, or the software actually being MSIX, Store, EXE, portable, or Click-to-Run. A package can also be a prerequisite or shared component rather than a user-facing application.
Duplicate entries may represent separate architectures, major versions with different ProductCodes, per-user and per-machine copies, language packs, runtimes, plug-ins, or a bootstrapper plus its underlying MSI. Never delete an entry solely because its display name looks repeated.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Common uninstall and repair failures
“Another installation is already in progress”
Allow the current installation or repair to finish, check for a genuinely stuck msiexec.exe process, and reboot when appropriate. Do not terminate installer processes blindly on a production computer.
Missing installation source
Restore the original network share, locate the matching MSI, or use the vendor’s supported repair/removal tool. Do not substitute an unrelated MSI with the same product name.
Product is not registered
Verify the ProductCode, check both user and machine contexts, inspect both registry views, and follow the vendor’s cleanup procedure. Avoid random deletion of Windows Installer registry keys.
Best Value
Uninstall succeeds but files remain
MSI removes resources registered to that product. User profiles, settings, logs, generated files, data, scheduled tasks, or vendor-updater files may remain. Removing the Windows Installer product is not the same as deleting all application or user data.
The product returns after removal
Check Intune, Configuration Manager, RMM, or login-script assignments. A still-applicable installation policy can reinstall the product immediately.
MSI compared with other Windows package types
| Type | Typical extension | Primary management method |
|---|---|---|
| Windows Installer | .msi |
msiexec, MDM, Configuration Manager |
| Windows Installer patch | .msp |
msiexec /p |
| MSIX/AppX | .msix, .appx |
AppX/MSIX, Store, Intune |
| Traditional executable | .exe |
Vendor-specific switches |
| Portable software | None or archive | Manual file management |
| Microsoft 365 Click-to-Run | Setup configuration | Office Deployment Tool or Intune |
Office is not automatically MSI-based because it appears in Programs and Features. Older Office MSI editions, Microsoft 365 Click-to-Run, Store versions, and individual components require different detection and removal methods. Microsoft notes that existing Office MSI installations may need removal before some Intune Microsoft 365 Apps deployments; see its Office deployment documentation.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallWhich management method should you choose?
| Need | Best starting point | Trade-off |
|---|---|---|
| One computer or a script | PowerShell and registry inspection | Incomplete if registration is damaged or a user scope is missed. |
| Cloud-managed fleet | Intune | Requires enrollment, licensing, silent packages, and reliable detection. |
| Traditional enterprise deployment | Configuration Manager | Powerful, but infrastructure-heavy. |
| Catalog-based installs and upgrades | winget | Catalog coverage and package behavior vary. |
| Remote inventory and patching without a full MDM | Third-party endpoint tool | Subscription cost and vendor-specific workflows. |
For one machine, paid software is unnecessary: identify the scope and ProductCode, use msiexec, and save a verbose log. For a fleet, choose the platform that matches your enrollment, licensing, deployment complexity, and reporting needs.
Safe MSI checklist
- Confirm the program is really MSI-based; do not infer this from its display name.
- Check machine and user registry locations, including the 32-bit view.
- Record the ProductCode, version, scope, and uninstall command.
- Use
msiexecrather than deleting registry keys or cached files. - Use
/L*Vlogging for failures and preserve the log. - Expect a missing source or elevation requirement during repair/removal.
- Check management assignments if an application reinstalls.
- Clean up application data separately and only with the vendor’s guidance.
The Bottom Line
Identify the package type first, then determine whether the MSI is per-user or per-machine and obtain its ProductCode. Use registry-based inventory for safe discovery, msiexec.exe for logged repair or removal, and Intune or Configuration Manager when you need repeatable fleet deployment. Never treat a generic app-list entry, Win32_Product query, or manual registry deletion as proof or a safe management method.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

