REINSTALLMODE Property

[This is preliminary documentation and subject to change.]

A string containing letters that specify the type of reinstall to perform. Options are case-insensitive and order-independent. This property should normally always be used in conjunction with the REINSTALL property.

Set By

Command line.

Used By

MsiEngine uses this value to determine the type of reinstall (if any) to perform.

Default Value

By default the REINSTALLMODE is "romus".

Reinstall Option Codes

r (iefInstallEnable) Enable reinstall of any files/registry found to be invalid.
p (iefOverwriteNone) Reinstall only if file is missing (i.e. verify that the file is present).
o (iefOverwriteOlderVersions) Reinstall if file is missing, or an older version is present.
e (iefOverwriteEqualVersions) Reinstall if file is missing, or an equal or older version is present
d (iefOverwriteDifferingVersions) Reinstall if file is missing, or a different version is present
c (iefOverwriteCorruptedFiles) Reinstall if file is missing, or corrupt (i.e. the stored checksum doesn't match the computed value).
a (iefOverwriteAllFiles) Force all files to be reinstalled, regardless of checksum or version
u (iefInstallUserData) Re-write all required user registry entries.
m (iefInstallMachineData) Re-write all required local machine registry entries.
s (iefInstallShortcuts) Reinstall all shortcuts, overwriting any existing shortcut.

All of the reinstall options shown above, except for iefInstallEnable, can actually be thought of as "detection" flags, which are used to detect that the feature or features specified by the REINSTALL property are installed properly. If any of the specified detection operations fail during the reinstall, this fact will be logged for informational purposes. However, the invalid installation will actually be repaired only if the iefInstallEnable option is also set. For example, if the iefOverwriteCorruptedFiles flag is set, corrupted files will be detected and logged on reinstall, but the corrupted files will actually be repaired (by reinstallation) only if the iefInstallEnable flag is also specified.

If the REINSTALLMODE property is defined without the REINSTALL property defined, then the specified "detection" modes still apply; however, only those features that are selected normally for install will actually be "reinstalled". Thus, in this case, REINSTALLMODE actually specifies the "overwrite" mode for a normal install.

Note  Only those files that are designated in the File table as containing checksum information will ever be verified for accurate checksum.