Friday, June 13, 2008

MsiExec.exe Command-Line Parameters

Note: I've searched the various links to get information at one place. I've not checked the help for validation. So I'm not responsible for any issue found related to the contents specified in the blog. Please use contents at own risk.

The table below provides a detailed description of MsiExec.exe command line parameters.

Parameter Description
/i or Use this format to install the product Othello:

msiexec /i "C:\\Profiles\\Personal\MySetups\Othello\Trial Version\Release\DiskImages\Disk1\Othello Beta.msi"

Product Code refers to the GUID that is automatically generated in the Product Code property of your product's project view.
/f [p|o|e|d|c|a|u|m|s|v] or Installing with the /f option will repair or reinstall missing or corrupted files.

For example, to force a reinstall of all files, use the following syntax:

msiexec /fa "C:\\Profiles\\Personal\MySetups\Othello\Trial Version\Release\DiskImages\Disk1\Othello Beta.msi"

in conjunction with the following flags:
  • p reinstalls a file if it is missing
  • o reinstalls a file if it is missing or if an older version of the file is present on the user's system
  • e reinstalls a file if it is missing or if an equivalent or older version of the file is present on the user's system
  • c reinstalls a file if it is missing or if the stored checksum of the installed file does not match the new file's value
  • a forces a reinstall of all files
  • u or m rewrite all required user registry entries
  • s overwrites any existing shortcuts
  • v runs your application from the source and re-caches the local installation package
/a The /a option allows users with administrator privileges to install a product onto the network.
/x or The /x option uninstalls a product.
/j [u|m]
/j [u|m] /t
/j [u|m] /g
/j
Building with the /j option advertises the components of your application on the end user's computer
  • u advertises components only to the current user
  • m advertises components to all users of the computer
  • g specifies language ID
  • t applies a transform to your advertised product
Transforms allow the synchronization of applications across different languages. For example, if you upgrade the English version of your product, you could apply a transform to automatically upgrade the French version of your product.
/L [i|w|e|a|r|u|c|m|p|v|+] Building with the /L option specifies the path to the log file—these flags indicate which information to record in the log file:
  • i logs status messages
  • w logs non-fatal warning messages
  • e logs any error messages
  • a logs the commencement of action sequences
  • r logs action-specific records
  • u logs user requests
  • c logs initial user interface parameters
  • m logs out-of-memory messages
  • p logs terminal settings
  • v logs the verbose output setting
  • + appends to an existing file
  • * is a wildcard character that allows you to log all information (excluding the verbose output setting)
/p Building with the /p option applies a patch to an installed setup package. To patch an installed administrative image, combine this option with /a as shown:

/p /a
/q [n|b|r|f] The /q option is used to set the user interface level in conjunction with the following flags:
  • q or qn creates no user interface
  • qb creates a basic user interface
The user interface settings below display a modal dialog box at the end of installation:
  • qr displays a reduced user interface
  • qf displays a full user interface
  • qn+ displays no user interface
  • qb+ displays a basic user interface
/? or /h Either command displays Windows Installer copyright information
/y This command calls the DllRegisterServer entry-point function of the DLL or OCX file specified in .
/z This command calls the DllUnregisterServer entry-point function of the DLL or OCX file specified in .
TRANSFORMS Use the TRANSFORMS command line parameter to specify any transforms that you would like applied to your base package. Your transform command line call might look something like this:

msiexec /i "C:\\Profiles\\Personal\MySetups\Your Project Name\Trial Version\My Release-1\DiskImages\Disk1\ProductName.msi" TRANSFORMS="New Transform 1.mst"

You can separate multiple transforms with a semicolon. Because of this, it is recommended that you do not use semicolons in the name of your transform, as the Windows Installer service will interpret those incorrectly.
Properties All public properties can be set or modified from the command line. Public properties are distinguished from private properties by the fact that they are in all capital letters. For example, COMPANYNAME is a public property.

To set a property from the command line, use the following syntax: PROPERTY=VALUE. If you wanted to change the value of COMPANYNAME, you would enter:

msiexec /i "C:\\Profiles\\Personal\MySetups\Your Project Name\Trial Version\My Release-1\DiskImages\Disk1\ProductName.msi" COMPANYNAME="InstallShield"


No comments: