Installing MSI files silently
To perform the really silent installation of an MSI file, you can use a command line which looks like this:
msiexec.exe /i ApplicationName.msi /qn /norestart
Some MSI files provide more options, usually to let you customize the application (apply settings, install only some parts,…).
Removing MSI files silently
To perform the silent removal (uninstallation) of an MSI file, use a command line which looks like this:
msiexec.exe /x {ProductCode} /qn
There is also a more generic command to remove applications that were installed by MSI files:
wmic product where "caption like '%Google Chrome%'" call uninstall /nointeractive
In this example, Google Chrome would be uninstalled silently (or more specifically, apps with “Google Chrome” in their name).
How to find the MSI product code
A simple one-liner in Powershell will do:
get-wmiobject Win32_Product | Format-Table IdentifyingNumber, Name
This will produce output looking much like this:
{26A24AE4-039D-4CA4-87B4-2F32180102F0} Java 8 Update 102 {E1201675-B966-4B97-82D9-01F292173B49} Client Center for Configuration Manager {AC76BA86-7AD7-1033-7B44-AC0F074E4100} Adobe Acrobat Reader DC {343D4507-997F-4553-9F86-2BB81F19A05E} Configuration Manager Client {BBAF8C17-51A4-3A52-A9C7-08229B38346E} Google Chrome {90D295B8-BA08-487E-B904-0E624209A410} Microsoft Policy Platform {B175520C-86A2-35A7-8619-86DC379688B9} Microsoft Visual C++ 2012 x86 Additional Runtime {1F1C2DFC-2D24-3E06-BCB8-725134ADF989} Microsoft Visual C++ 2008 Redistributable - x86 {165CC34D-37E9-4B88-A5AA-D0FA2EB5A8CE} DameWare Mini Remote Control 7.5 {EC542D5D-B608-4145-A8F7-749C02BE6D94} Dell Command | Update
The productcodes can then be found in the left colum of the output. Note that the above line of code will return the productcodes of all the MSI-based software, installed on your system. This might take quite some time.
If you want to lookup the productcode of a specific software, the next code example might be more useful:
get-wmiobject Win32_Product | where Name -Like "*Acrobat Reader*" | Format-Table IdentifyingNumber, Name
In this case, the output returns the productcode for just 1 product:
IdentifyingNumber Name ----------------- ---- {AC76BA86-7AD7-1033-7B44-AC0F074E4100} Adobe Acrobat Reader DC
Enjoy 🙂