Microsoft Windows Installer (Windows
7/2008).
Syntax
MSIEXEC /Option RequiredParameter
[OptionalParameter]
Install
Options
Install or configure a product:
MSIEXEC /package Product.msi
MSIEXEC /i Product.msi
Administrative install, Install a product on
the network:
MSIEXEC /a Product.msi
Advertise a product to all users:
MSIEXEC /j m Product.msi
[/t TransformList] [/g LanguageID]
Advertise a product to current user:
MSIEXEC /j u Product.msi
[/t TransformList] [/g LanguageID]
Uninstall the product:
MSIEXEC /uninstall Product.msi
MSIEXEC /x Product.msi
MSIEXEC /uninstall ProductCode
MSIEXEC /x ProductCode
Display
Options
Quiet mode, no user interaction
/quiet
Unattended mode - progress bar only
/passive
Set user interface level: None
/qn
Set user interface level: Basic UI
/qb
Set user interface level: Reduced UI
/qr
Set user interface level: Full UI (default)
/qf
Help information
/help
Restart
Options
Do not restart after the installation is
complete:
/norestart
Prompt the user for restart if necessary:
/promptrestart
Always restart the computer after
installation:
/forcerestart
Logging
Options
/le Logfile Log All error messages
/lw Logfile Log Non-fatal warnings
/li Logfile Log Status messages
/la Logfile Log Start up of actions
/lr Logfile Log Action-specific records
/lu Logfile Log User requests
/lc Logfile Log Initial (UI) parameters
/lm Logfile Log Out-of-memory or fatal exit information
/lo Logfile Log Out-of-disk-space messages
/lp Logfile Log Terminal properties
/lv Logfile Log Verbose output
/lx Logfile Log Extra debugging information
/l* Logfile Log all information, except for v and x
options
/log Logfile Equivalent of /l*
/l+ Logfile Append to an existing log file.
/l! Logfile Flush each line to the log.
Update
Options
Apply update(s)
/update [;Update2.msp]
Remove update(s) for a product:
/uninstall [;Update2.msp] /package
Repair
Options - Repair a previously installed product
/fp Repair/fix - replace missing
files
/fo
Repair/fix - replace Older files(default)
/fe
Repair/fix - replace older or Equal date files
/fd
Repair/fix - replace Different version files
/fc
Repair/fix - replace files based on Checksum differences
/fa
Repair/fix - replace All files
/fu
Repair/fix - rewrite HKCU registry(default)
/fm
Repair/fix - rewrite HKLM registry(default)
/fs
Repair/fix - recreate shortcuts(default)
/fv
Repair/fix - rewrite local cache from source
Set
Public Properties
[PROPERTY=PropertyValue]
Windows installer (and msiexec) have
been updated with each major release of Windows (from 2000 to XP to 2008 R2)
Windows Installer redistributables are available at the Microsoft Download Center.
Registry Keys:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
Product codes - the ProductCode for
each application is a GUID that can be retrieved with a WMI query in VBScript
or PowerShell, Get-WmiObject
Win32_Product will return the IdentifyingNumber which is the Product code:
PS C:\> gwmi Win32_Product -Filter "Name LIKE 'Paint.net v3%'"
PS C:\> gwmi Win32_Product -Filter "Name LIKE 'Paint.net v3%'"
Do not use the domain controller
SYSVOL folder as a Windows Installer installation point, doing so may result in
the following error when you attempt to run the Windows Installer (.msi)
package:
This installation package could not
be opened. Verify that the package exists and that you can access it, or
contact the application vendor to verify that this is a valid Windows Installer
package.
This is because the SYSVOL folder is
created with the SHI1005_FLAGS_RESTRICT_EXCLUSIVE_OPENS attribute, which
prevents it from being exclusively locked by Windows Installer. Having locked
files on a SYSVOL will create Active Directory directory service
synchronization problems.
Examples:
Install:
msiexec /i "C:\Install\ss64app.msi"
UnInstall:
msiexec /uninstall "{5AFF6499-63BA-4A36-83B2-8D256404AC3D}" /log "C:\install\ss64app.txt"
msiexec /i "C:\Install\ss64app.msi"
UnInstall:
msiexec /uninstall "{5AFF6499-63BA-4A36-83B2-8D256404AC3D}" /log "C:\install\ss64app.txt"
or remotely with psexec
psexec \\$workstation -s msiexec /uninstall "{5AFF6499-63BA-4A36-83B2-8D256404AC3D}" /log "C:\install\ss64app.txt"
psexec \\$workstation -s msiexec /uninstall "{5AFF6499-63BA-4A36-83B2-8D256404AC3D}" /log "C:\install\ss64app.txt"