Express Options:
Uninstall by Product GUID: (find product GUID) - section 3 below for logging. There is also: MSI logging in depth here:
msiexec.exe /x {11111111-1111-1111-1111-11111111111X}
Uninstall by MSI file:
msiexec.exe /x "c:filename.msi"
Express Interactive:
Right click MSI file in Windows Explorer and select "Uninstall".
There are many ways to uninstall an MSI package. The below is intended as a "reference":
In summary you can uninstall via: msiexec.exe, ARP, WMI, PowerShell, Deployment Systems such as SCCM, VBScript / COM Automation, DTF, or via hidden Windows cache folder, and a few other options presented below.
The first few paragraphs provide important MSI tidbits, then there are 14 sections with different ways to uninstall an MSI file. Puh.
"Babble, Babble - Over": Sections 1, 2 and 3 are the normal uninstall approaches (and hence recommended). Personally I use option 3 or 5 from section 3
(both options with logging, but option 5 runs silently
as well). If you are very busy, skip all the babble and go for one
of these - it will get the job done.
If you have problems uninstalling altogether and are looking for an alternative to the deprecated MsiZap.exe and / or Windows Installer CleanUp Utility (MSICUU2.exe), you can try the new FixIt tool from Microsoft (or the international page). May apparently work for other install issues as well.
Newer list of cleanup approaches: Cleaning out broken MSI uninstalls.
If you think MSI and Windows Installer is more trouble than it's worth, you might want to read about the corporate benefits of using MSI files.
Installscript MSI setups generally come wrapped in a setup.exe file. To read more about the parameters to use for uninstalling such setups please see these links: setup.exe pdf reference sheet, Setup.exe and Update.exe Command-Line Parameters.
Some MSI files are installed as part of bundles via mechanism such as Burn (WiX Toolkit) or InstallShield Suite projects. This can make uninstall slightly different from what is seen below. Here is an example for InstallShield Suite projects.
Be aware that running uninstall silently or interactively can cause different results (!). For a rather lengthy description of why this is the case, please read this post: Uninstall from Control Panel is different from Remove from .msi
If you are unexpectedly asked for the original installation media when trying to uninstall, please read this answer: Why does MSI require the original .msi file to proceed with an uninstall? and perhaps also section 12 below for some important technical details.
If you got CCleaner or similar cleanup tools installed, perhaps jump to section 11.
If uninstall is failing entirely (not possible to run), see sections 12 & 13 below for a potential way to "undo" the installation using system restore and / or cleanup tools.
1 - Using the original MSI
- If you have access to the original MSI used for the installation, you can simply right click it in Windows Explorer and select Uninstall.
- You can also uninstall via command line as explained in section 3.
2 - Using the old ARP Applet OR new Windows 8/10 Settings Interface
Just got to mention the normal approach(es) though it is obvious
ARP
= Add / Remove Programs Applet
(appwiz.cpl
)
Windows 10 Settings Interface
=> New shell for same operation
ARP:
- Go start → run → appwiz.cpl → ENTER in order to open the add/remove programs applet (or click add/ remove programs in the control panel)
- Click "Remove" for the product you want to uninstall
Settings Interface (Windows 8 / 10):
- Use the new Settings GUI in Windows 8 / 10
- Windows Key + Tap I =>
Apps & Features
. Select entry and uninstall.
- Direct shortcut:
- Windows Key + Tap R => Type:
ms-settings:appsfeatures
and press Enter
- Some reports of errors when invoking uninstall this way. Please add comments below if seen.
3 - Using msiexec.exe command line (directly or via a batch file)
- You can uninstall via the command prompt (cmd.exe), batch file or or even from within an executable as a shell operation.
- You do this by passing the product GUID (check below for how to find this GUID) or the path to the original MSI file, if available, to msiexec.exe.
- For all the command lines below you can add
/qn
to make the uninstall run in silent mode. This is how an uninstall runs when triggered from the add/remove applet.
Option 3.1: Basic interactive uninstall (access to original MSI file):
msiexec.exe /x "c:filename.msi"
Option 3.2: Basic interactive uninstall via product GUID (no access to original MSI file - here is how to find the product GUID - same link as below):
msiexec.exe /x {11111111-1111-1111-1111-11111111111X}
Option 3.3: Interactive uninstall with verbose log file:
msiexec.exe /x "c:filename.msi" /L*V "C:msilog.log"
msiexec.exe /x {11111111-1111-1111-1111-11111111111X} /L*V "C:msilog.log"
Option 3.4: Interactive uninstall with flushed, verbose log file (verbose, flush to log option - write log continuously, can be very slow):
msiexec.exe /x "c:filename.msi" /L*V! "C:msilog.log"
msiexec.exe /x {11111111-1111-1111-1111-11111111111X} /L*V! "C:msilog.log"
The flush to log option makes the uninstall slow because the log file is written continuously instead of in batches. This ensures no log-buffer is lost if the setup crashes.
In other words, enable this option if your setup is crashing and there is no helpful information in your verbose log file. Remove the exclamation mark to turn off the flush to log option and the uninstall will be much quicker. You still get verbose logging, but as stated some log buffer could be lost.
Option 3.5 (recommended): Silent uninstall with verbose log file - suppress reboots (no flush to log - see previous option for what this means):
msiexec.exe /x "c:filename.msi" /QN /L*V "C:msilog.log" REBOOT=R
msiexec.exe /x {11111111-1111-1111-1111-11111111111X} /QN /L*V "C:msilog.log" REBOOT=R
Quick Parameter Explanation (since I recommend this option):
/X = run uninstall sequence
/QN = run completely silently
/L*V "C:msilog.log"= verbose logging at path specified
{11111111-1111-1111-1111-11111111111X} = product guid of app to uninstall
REBOOT=R = prevent unexpected reboot of computer
Again, how to find the product guid:
How can I find the product GUID of an installed MSI setup? (for uninstall if you don't have the original MSI to specify in the uninstall command).
Top tip: If you create a log file for your uninstall, you can locate problems in the log by searching for "value 3". This is particularly useful for verbose files, because they are so, well, verbose :-).
</li