Monday, August 28, 2006

Reference: Windows Installer command line

The following is a list of the command lines that can be used with an .msi installation per Microsoft

Msiexec
- Provides the means to install, modify, and perform operations on Windows Installer from the command line.

To install or configure a product
Syntax
msiexec /i {package|ProductCode}
Parameters
/i : Installs or configures a product.
Examples
To install a product from A:\Example.msi, type:
msiexec /i A:\Example.msi

To use the administrative installation option
Syntax
msiexec /a package
Parameters
/a : Applies the administrative installation option.

To repair a product
Syntax
msiexec /f [p][o][e][d][c][a][u][m][s][v]{package|ProductCode}
Parameters
/f : Enables one or more of the command-line options listed in the following table.

p Reinstalls only if file is missing.
o Reinstalls if file is missing or if 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.
a Forces all files to be reinstalled.
u Rewrite all required user-specific registry entries.
m Rewrites all required computer-specific registry entries.
s Overwrites all existing shortcuts.
v Runs from source and re-caches the local package.

Examples
To repair the installation package, type:
msiexec /fpecms Example.msi

To uninstall a product
Syntax
msiexec /x {package|ProductCode}
Parameters
/x : uninstalls a product.
Examples
To remove or uninstall a package, type:
msiexec /x Example.msi

To advertise a product
Syntax
msiexec /j [{u|m}] package
msiexec {u|m} package /t TransformList
msiexec {u|m} package /g LanguageID
Parameters
/j : Advertises a product.
u : Advertises to the current user.
m : Advertises to all users of the computer.
/g LanguageID : Identifies the language.
/t TransformList : Applies transform to advertised package.
Examples
To advertise a package to all users of this computer, type:
msiexec /jm Example.msi
To advertise a package to all users of this computer, type:
msiexec /jm Example.msi

To set logging level
Syntax
msiexec /L [i][w][e][a][r][u][c][m][p][v][+][!]LogFile.txt
Parameters
/L : Specifies the path to the log file.

i : Logs status messages.
w : Logs nonfatal warnings.
e : Logs all error messages.
a : Logs startup of actions.
r : Logs action-specific records.
u : Logs user requests.
c : Logs initial user interface Parameters.
m : Logs out-of-memory.
p : Logs terminal properties.
v : Logs verbose output. To use v, specify /L*v.
+ : Appends to existing file.
! : Flushes each line to the log.
* : Logs all information except for the v option. This is a wildcard.
LogFile.txt : Name and path of the text log file.
• To include the v option in a log file using the wildcard flag, type /L*v at the command prompt.
• The Windows Installer log file options can also be used with the uninstall and repair processes.

Examples
To install a package and create a log file that contains the information related to the status, out-of-memory, and error messages, type:
msiexec /i Example.msi /Lime logfile.txt

To apply a patch
Syntax
msiexec /p PatchPackage
Parameters
/p : Applies a patch.
PatchPackage : Specific patch.
• To apply a patch to an administrative installation package, use the following Syntax:
msiexec /p PatchPackage /a Example.msi

To install a transform using the command line
Syntax
msiexec /i packageTRANSFORMS=TransformList
Parameters
/i : Installs or configures a product.
package : Specifies the Windows Installer package file.
TRANSFORMS= : Property that is used to specify what transform (.mst) files should be applied to the package.
TransformList : List of paths separated by semicolons.

To advertise a product using a transform with the command line
Syntax
msiexec /j[u][m] package /t TransformList
Parameters
/j : 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 this computer.
/t : Applies transform to advertised package.
TransformList : List of paths separated by semicolons.

To set the user interface level
Syntax
msiexec /q{n|b|r|f|n+|b+|b-}
Parameters
/qn : Displays no user interface.
/qb : Displays a basic user interface.
/qr : Displays a reduced user interface with a modal dialog box displayed at the end of the installation.
/qf : Displays the full user interface with a modal dialog box displayed at the end.
/qn+ : Displays no user interface, except for a modal dialog box displayed at the end.
/qb+ : Displays a basic user interface with a modal dialog box displayed at the end.
/qb- : Displays a basic user interface with no modal dialog boxes.
• /qb+- is not a supported user interface level. The modal box is not displayed if the user cancels the installation.

Examples
To display the basic user interface options during the package installation of Example.msi, type:
msiexec /qb Example.msi

To call the system API DllRegisterServer to self-register modules passed on the command line
Syntax
msiexec /y module
Parameters
/y : Calls the system API DllRegisterServer to self-register modules passed on the command line.
module : Specifies the file name of module.
• This option is used only for registry information that cannot be added using the registry tables of the .msi file.
Examples
The following example shows how you can use the msiexec /y command:
msiexec /y my_file.dll

To call the system API DllUnRegisterServer to unregister modules passed on the command line
Syntax
msiexec /z module
Parameters
/z : Calls the system API DllUnRegisterServer to unregister modules passed on the command line.
module : File name of module.
• This option is used only for registry information that cannot be added using the registry tables of the .msi file.
Examples
The following example shows how you can use the msiexec /z command:
msiexec /z my_file.dll

3 Comments:

Anonymous Anonymous said...

Hi all at smsguys.blogspot.com!
Make money with unusual business ideas. For example
Bye

11:02 AM  
Anonymous Viagra Online said...

This I could use a few years back, too bad I wasn't aware of your site back then.

3:13 PM  
Anonymous pharmacy said...

I really like this site, it's so important to know more about this topic, keep it up and of course every time I have time I'll love to check out again

4:20 PM  

Post a Comment

<< Home