Standard Installer Command Line Options
The executable program that interprets packages and installs products is Msiexec.exe.
Note Msiexec also sets an error level on return that corresponds to system error codes.
The following table describes the standard command-line options for this program. Command-line options are case insensitive.
The following command line options are available beginning with Windows Installer Version 3.0. The Windows Installer Command Line Options are available with Windows Installer Version 3.0 and earlier versions.
|
Option
|
Parameters
|
Meaning
|
|
/help
|
|
Help and quick reference option. Displays the correct usage of the setup command including a list of all switches and behavior. The description of usage can be displayed in the user interface. Incorrect use of any option invokes this help option.
Example: msiexec /help
Note The equivalent Windows Installer Command Line Option is /?.
|
|
/quiet
|
|
Quiet display option. The installer runs an installation without displaying a user interface. No prompts, messages, or dialog boxes are displayed to the user. The user cannot cancel the installation. Use the /norestart or /forcerestart standard command line options to control reboots. If no reboot options are specified, the installer restarts the computer whenever necessary without displaying any prompt or warning to the user.
Examples:
msiexec /package Application.msi /quiet
Msiexec /uninstall Application.msi /quiet
Msiexec /update msipatch.msp /quiet
Msiexec /uninstall msipatch.msp /package Application.msi / quiet
Note The equivalent Windows Installer Command Line Option is /qn.
|
|
/passive
|
|
Passive display option. The installer displays a progress bar to the user that indicates that an installation is in progress but no prompts or error messages are displayed to the user. The user cannot cancel the installation. Use the /norestart, /forcerestart, or /promptrestart standard command line options to control reboots. If no reboot option is specified, the installer restarts the computer whenever necessary without displaying any prompt or warning to the user.
Example: msiexec /package Application.msi /passive
Note The equivalent Windows Installer Command Line Option is /qb! with REBOOTPROMPT=S set on the command line.
|
|
/norestart
|
|
Never restart option. The installer never restarts the computer after the installation.
Example: msiexec /package /Application.msi /norestart
Note The equivalent Windows Installer command line has REBOOT=ReallySupress set on the command line.
|
|
/forcerestart
|
|
Always restart option. The installer always restarts the computer after every installation.
Example: msiexec /package /Application.msi /forcerestart
Note The equivalent Windows Installer command line has REBOOT=Force set on the command line.
|
|
/promptrestart
|
|
Prompt before restarting option. Displays a message that a restart is required to complete the installation and asks the user whether to restart the system now. This option cannot be used together with the /quiet option.
Note The equivalent Windows Installer command line has REBOOTPROMPT = “” set on the command line.
|
|
/uninstall
|
<Package.msi|ProductCode>
|
Uninstall product option. Uninstalls a product.
Note The equivalent Windows Installer Command Line Option is /x.
|
|
/uninstall
|
/package <Package.msi | ProductCode> /uninstall <Update1.msp | PatchGUID1>[;Update2.msp | PatchGUID2]
|
Uninstall update option. Uninstalls an update patch.
Note The equivalent Windows Installer Command Line Option is /I with MSIPATCHREMOVE=Update1.msp | PatchGUID1[;Update2.msp | PatchGUID2] set on the command line.
|
|
/log
|
<logfile>
|
Log option. The installer writes information into a log file located at the specified path.
The following information is entered into the log:
· Status messages
· Nonfatal warnings
· All error messages
· Start up of actions
· Action-specific records
· User requests
· Initial UI parameters
· Out-of-memory or fatal exit information
· Out-of-disk-space messages
· Terminal properties
Note The equivalent Windows Installer Command Line Option is /L*.
|
|
/package
|
<Package.msi|ProductCode>
|
Install product option. Installs or configures a product.
Note The equivalent Windows Installer Command Line Option is /I.
|
|
/update
|
<Update1.msp>[;Update2.msp]
|
Install patches option. Installs one or multiple patches.
Note The equivalent Windows Installer command line has PATCH = [msipatch.msp]<;PatchGuid2> set on the command line.
|
|
/I
|
Package|ProductCode
|
Installs or configures a product.
|
|
/f
|
[p|o|e|d|c|a|u|m|s|v] Package|ProductCode
|
Repairs a product. This option ignores any property values entered on the command line. The default argument list for this option is 'omus.' This option shares the same argument list as the REINSTALLMODE property.
p - Reinstalls only if file is missing.
o - Reinstalls if file is missing or an older version is installed.
e - Reinstalls if file is missing or an equal or older version is installed.
d - Reinstalls if file is missing or a different version is installed.
c - Reinstalls if file is missing or the stored checksum does not match the calculated value. Only repairs files that have msidbFileAttributesChecksum in the Attributes column of the File table.
a - Forces all files to be reinstalled.
u - Rewrites all required user-specific registry entries.
m - Rewrites all required computer-specific registry entries.
s - Overwrites all existing shortcuts.
v - Runs from source and recaches the local package. Do not use the v reinstall option for the first installation of an application or feature.
|
|
/a
|
Package
|
Administrative installation option. Installs a product on the network.
|
|
/x
|
Package|ProductCode
|
Uninstalls a product.
|
|
/j
|
[u|m]Package
or
[u|m]Package /t Transform List
or
[u|m]Package /g LanguageID
|
Advertises a product. This option ignores any property values entered on the command line.
u - Advertises to the current user.
m - Advertises to all users of machine.
g - Language identifier.
t - Applies transform to advertised package.
|
|
/L
|
[i|w|e|a|r|u|c|m|o|p|v|x|+|!|*] Logfile
|
Writes logging information into a logfile at the specified path. Flags indicate which information to log. If no flags are specified, the default is 'iwearmo.'
i - Status messages.
w - Nonfatal warnings.
e - All error messages.
a - Start up of actions.
r - Action-specific records.
u - User requests.
c - Initial UI parameters.
m - Out-of-memory or fatal exit information.
o - Out-of-disk-space messages.
p - Terminal properties.
v - Verbose output.
x - Extra debugging information. Only available on Windows Server 2003.
+ - Append to existing file.
! - Flush each line to the log.
"*" - Wildcard, log all information except for the v and x options. To include the v and x options, specify "/l*vx".
|
|
/m
|
filename
|
Generates an SMS status .mif file. Must be used with either the install (-i), remove (-x), administrative installation (-a), or reinstall (-f) options. The ISMIF32.DLL is installed as part of SMS and must be on the path.
The fields of the status mif file are filled with the following information:
Manufacturer - Author
Product - Revision Number
Version - Subject
Locale - Template
Serial Number - not set
Installation - set by ISMIF32.DLL to "DateTime"
InstallStatus - "Success" or "Failed"
Description - Error messages in the following order: 1) Error messages generated by installer. 2) Resource from Msi.dll if installation could not commence or user exit. 3) System error message file. 4) Formatted message: "Installer error %i", where %i is error returned from Msi.dll.
|
|
/p
|
PatchPackage[;patchPackage2…]
|
Applies a patch. To apply a patch to an installed administrative image you must combine the following options:
/p <PatchPackage>[;patchPackage2…] /a <Package>
|
|
/q
|
n|b|r|f
|
Sets user interface level.
q , qn - No UI
qb - Basic UI. Use qb! to hide the Cancel button.
qr - Reduced UI with no modal dialog box displayed at the end of the installation.
qf - Full UI and any authored FatalError, UserExit, or Exit modal dialog boxes at the end.
qn+ - No UI except for a modal dialog box displayed at the end.
qb+ - Basic UI with a modal dialog box displayed at the end. The modal box is not displayed if the user cancels the installation. Use qb+! or qb!+ to hide the Cancel button.
qb- - Basic UI with no modal dialog boxes. Please note that /qb+- is not a supported UI level. Use qb-! or qb!- to hide the Cancel button.
Note that the ! option is available with Windows Installer 2.0 and works only with basic UI. It is not valid with full UI.
|
|
/? or /h
|
|
Displays copyright information for Windows Installer.
|
|
/y
|
module
|
Calls the system function DllRegisterServer to self-register modules passed in on the command line. Specify the full path to the DLL. For example, for MY_FILE.DLL in the current folder you can use:
msiexec /y .\MY_FILE.DLL
This option is only used for registry information that cannot be added using the registry tables of the .msi file.
|
|
/z
|
module
|
Calls the system function DllUnRegisterServer to unregister modules passed in on the command line. Specify the full path to the DLL. For example, for MY_FILE.DLL in the current folder you can use:
msiexec /z .\MY_FILE.DLL
This option is only used for registry information that cannot be removed using the registry tables of the .msi file.
|
|
/c
|
|
Advertises a new instance of the product. Must be used in conjunction with /t. Available starting with the Windows Installer version that is shipped with Windows Server 2003 and Windows XP SP1.
|
|
/n
|
ProductCode
|
Specifies a particular instance of the product. Used to identify an instance installed using the multiple instance support through a product code changing transforms. Available starting with the Windows Installer version shipped with Windows Server 2003 and Windows XP SP1.
|
Examples
The options /i, /x, /f[p|o|e|d|c|a|u|m|s|v], /j[u|m], /a, /p, /y and /z should not be used together. The one exception to this rule is that patching an
administrative installation requires using both /p and /a. The options /t, /c and /g should only be used with /j. The options /l and /q can be used with /i, /x, /f[p|o|e|d|c|a|u|m|s|v], /j[u|m], /a, and /p. The option /n can be used with /i, /f, /x and /p.
To install a product from A:\Example.msi, install the product as follows:
msiexec /i A:\Example.msi
Only
public properties can be modified using the command line. All property names on the command line are interpreted as uppercase but the value retains case sensitivity. If you enter
MyProperty at a command line, the installer overrides the value of MYPROPERTY and not the value of
MyProperty in the Property table. For more information, see
About Properties.
To install a product with PROPERTY set to VALUE, use the following syntax on the command line. You can put the property anywhere except between an option and its argument.
Correct syntax:
msiexec /i A:\Example.msi PROPERTY=VALUE
Incorrect syntax:
msiexec /i PROPERTY=VALUE A:\Example.msi
Property values that are literal strings must be enclosed in quotation marks. Include any white spaces in the string between the marks.
msiexec /i A:\Example.msi PROPERTY="Embedded White Space"
To clear a public property by using the command line, set its value to an empty string.
msiexec /i A:\Example.msi PROPERTY=""
For sections of text set apart by literal quotation marks, enclose the section with a second pair of quotation marks.
msiexec /i A:\Example.msi PROPERTY="Embedded ""Quotes"" White Space"
The following example shows a complicated command line.
msiexec /i testdb.msi INSTALLLEVEL=3 /l* msi.log COMPANYNAME="Acme ""Widgets"" and ""Gizmos."""
The following example shows advertisement options. Note that switches are not case-sensitive.
msiexec /JM msisample.msi /T transform.mst /LIME logfile.txt
The following example shows you how to install a new instance of a product to be advertised. This product is authored to support multiple instance transforms.
msiexec /JM msisample.msi /T :instance1.mst;customization.mst /c /LIME logfile.txt
The following example shows how to patch an instance of a product that is installed using multiple instance transforms.
msiexec /p msipatch.msp;msipatch2.msp /n {00000001-0002-0000-0000-624474736554} /qb
When you apply patches to a specific product, the /i and /p options cannot be specified together in a command line. In this case, you can apply patches to a product as follows.
msiexec /i A:Example.msi PATCH=msipatch.msp;msipatch2.msp /qb
The
PATCH property cannot be set in a command line, when /p option is used. If the
PATCH property is set when the /p option is used, the value of
PATCH property is ignored and overwritten.