Table of Contents
MSI Rollout Options
Introduction
This is a small tutorial on the rollout of MSI applications. MSI is a Microsoft format for applications on Windows, and stands for Microsoft Installer. Nowadays the installer is referred to as the Windows Installer.
Covered topics:
- Usage examples
- Msiexec options
- Properties
- MSI and ZENworks
- Additional information
Usage Examples
Install - no reboot - progressbar |
---|
msiexec -i ZfDagent.msi REBOOT=REALLYSUPPRESS /passive |
Install - prompt for reboot - basic user interface |
msiexec -i "Q:\ZfDAgent\ZfDagent.msi" /qb /promptrestart |
Install - no reboot - no user interface - several properties |
msiexec -i "VMware Server Standalone.msi" DESKTOP_SHORTCUT=0 SERIALNUMBER=XXXXX-XXXXX-XXXXX-XXXXX ADDLOCAL=ALL REBOOT=REALLYSUPPRESS /qn |
Install - no reboot - no user interface with completion message - several properties |
msiexec -i "VMware Infrastructure Client 2.5.msi" DESKTOP_SHORTCUT=0 ADDLOCAL=ALL REBOOT=REALLYSUPPRESS /qn+ |
Install - prompt for reboot - basic user interface with completion message - transform file |
msiexec -i groupwise.msi TRANSFORMS="GwEngDefNl.mst" /qb+ /promptrestart |
Install - no reboot - basic user interface - several properties |
msiexec -i "java_JRE_6_03.msi" AgreeToLicense=YES DESKTOP_SHORTCUT=0 IEXPLORER=1 MOZILLA=1 ADDLOCAL=jrecore,extra JAVAUPDATE=0 AUTOUPDATECHECK=0 JU=0 SYSTRAY=0 REBOOT=REALLYSUPPRESS /qb |
Remove - prompt for reboot - basic user interface with completion message |
msiexec -x groupwise.msi /qb+ /promptrestart |
Msiexec Options
Official options
- msiexec /?
Windows ® Installer. V 3.01.4000.1823 msiexec /Option <Required Parameter> [Optional Parameter] Install Options </package | /i> <Product.msi> Installs or configures a product /a <Product.msi> Administrative install - Installs a product on the network /j<u|m> <Product.msi> [/t <Transform List>] [/g <Language ID>] Advertises a product - m to all users, u to current user </uninstall | /x> <Product.msi | ProductCode> Uninstalls the product Display Options /quiet Quiet mode, no user interaction /passive Unattended mode - progress bar only /q[n|b|r|f] Sets user interface level n - No UI b - Basic UI r - Reduced UI f - Full UI (default) /help Help information Restart Options /norestart Do not restart after the installation is complete /promptrestart Prompts the user for restart if necessary /forcerestart Always restart the computer after installation Logging Options /l[i|w|e|a|r|u|c|m|o|p|v|x|+|!|*] <LogFile> 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 + - Append to existing log file ! - Flush each line to the log * - Log all information, except for v and x options /log <LogFile> Equivalent of /l* <LogFile> Update Options /update <Update1.msp>[;Update2.msp] Applies update(s) /uninstall <PatchCodeGuid>[;Update2.msp] /package <Product.msi | ProductCode> Remove update(s) for a product Repair Options /f[p|e|c|m|s|o|d|a|u|v] <Product.msi | ProductCode> Repairs a product p - only if file is missing o - if file is missing or an older version is installed (default) e - if file is missing or an equal or older version is installed d - if file is missing or a different version is installed c - if file is missing or checksum does not match the calculated value a - forces all files to be reinstalled u - all required user-specific registry entries (default) m - all required computer-specific registry entries (default) s - all existing shortcuts (default) v - runs from source and recaches local package Setting Public Properties [PROPERTY=PropertyValue] Consult the Windows ® Installer SDK for additional documentation on the command line syntax. Copyright © Microsoft Corporation. All rights reserved. Portions of this software are based in part on the work of the Independent JPEG Group.
Extra explanation display level (/q switch):
b Basic: Display only simple progress indicators and error messages. f Full: Display all dialog boxes and messages. This setting is the same as when you omit the /q option. n None: Display no user interface. This setting is same as when you use /q option with no parameters. r Reduced: Display all progress indicators and error messages but do not collect any user information. - Suppress all modal dialog boxes. Use only with the b option. + Add completion message to either the n or the b option. The completion message is displayed only when setup does not have to restart the computer after the installation.
Properties
Property usage: Specify a property value on the command line. If the value contains spaces, enclose it in quotation marks (“). To specify two or more property-value pairs, separate them with spaces.
ALLUSERS=[string] | Install application for all users of the computer or for only the current user. By default, Windows Installer installs for all users of the computer. Setting ALLUSERS to a null value (”“) overrides this default behavior and installs per user.«br»1 = Install for all users of the computer; requires administrative privileges.«br»2 = Install for all users of the computer.«br»”“ = Install only for the user running Setup.«br»ALLUSER=”“ |
CDCACHE=[string] | Specify the level of caching.«br»Auto = cache based on available disk space«br»1 = cache only what you install«br»2 = cache entire source«br»0 = cache disabled«br»CDCACHE=auto |
COMPANYNAME=[string] | Specify an organization name.«br»COMPANYNAME=My Business |
INSTALLLOCATION=[string] | Specify the installation location.«br»INSTALLLOCATION=C:\Program Files\MyApp |
LOCALCACHEDRIVE=[string] | Specify the drive that the installation files will be cached to.«br»LOCALCACHEDRIVE=C |
PIDKEY=[string] | Enter a 25-character volume license key on the Setup command line or in the Setup settings file. When you set the PIDKEY property, users are not required to enter a product key when they install.«br»PIDKEY=123467890123456789012345 |
TRANSFORMS=[string] | Specify a transform to apply to the installation.«br»TRANSFORMS=\\server\share\myApp\Custom.mst |
USERNAME=[string] | Specify a default user name.«br»USERNAME=Don Dunk |
REBOOT=[string] | You can suppress certain prompts for reboots by setting the REBOOT property as follows:«br»Force = Always prompt for a reboot at the end of the installation. The UI always prompts the user with an option to reboot at the end. If there is no user interface the system automatically reboots at the end of the installation.«br»Suppress = Suppress prompts for a reboot at the end of the installation. The installer still prompts the user with an option to reboot during the installation whenever it encounters the ForceReboot action. If there is no user interface, the system automatically reboots at each ForceReboot. Reboots at the end of the installation, for example caused by an attempt to install a file in use, are suppressed.«br»ReallySuppress = Suppress all reboots and reboot prompts initiated by ForceReboot during the installation. Suppress all reboots and reboot prompts at the end of the installation. Both the reboot prompt and the reboot itself are suppressed. For example, reboots at the end of the installation, caused by an attempt to install a file in use, are suppressed.«br»REBOOT=ReallySuppress |
MSI and ZENworks
ZENworks has the option to rollout MSIs using native MSI techniques. Meaning you can point ZENworks to a MSI installation file and edit the ZENworks object with options and properties to modify your installation. This is something I never actually do. In my experience there are too many things that can go wrong. I've had several 16xx errors which couldn't always be solved. Which had led me to combine ZENworks and MSIs in a different way. I create a simple application which I point to the c:\windows\system32\msiexec.exe file. When I've created the object I edit the parameters and working directories to match the installation source:
To see an example of this see GroupWise Client Rollout
Additional Information
More Websites
http://www.msiwisdom.com is a website with a lot of information about MSI and deployment.
SuperOrca
SuperOrca from “Pantaray Research Ltd.” is a direct replacement to the “Orca” MSI Editor from Microsoft. SuperOrca may be used to examine and modify an MSI database. For more information and download see here.
Adding Registry Values After The Install
regedit /s java.reg
Example registry file:
REGEDIT4 [HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Update\Policy] "EnableJavaUpdate"=dword:00000000 "NotifyDownload"=dword:00000000 "NotifyInstall"=dword:00000000 "PromptAutoUpdateCheck"=-