You can customize the behavior of MSI files by modifying Package.ini parameters and rebuilding the application package.

Some parameters can affect MSI configuration.

Parameter Function Parameter Use in Package.in
MSIInstallDirectory Sets the installation directory for the package. MSIInstallDirectory=C:\Program Files\
MSIDefaultInstallAllUsers

Sets the installation of the package for individual users. The value creates msiexec parameters for each user.

ThinApp installs the package in the %AppData% user directory.

MSIDefaultInstallAllUsers=0

Sets the installation of the package for all users. The administrators must belong to the Administrators Active Directory group.

Users without the administrator privilege can create an installation for themselves.

MSIDefaultInstallAllUsers=2
MSIFileName Names the package. MSIFilename=Firefox 3.6.17.msi
MSIProperty Adds extra rows to the .msi Property table, for adding customized MSI property values. Add MSIProperty.Xxx=yyy

Property = Xxx and Value = Yyy

MSIRequireElevatedPrivileges

Indicates whether an installer needs elevated privileges for deployment on Microsoft Vista.

Installations for individual users do not usually need elevated privileges but per-machine installations require such privileges.

MSIRequireElevatedPrivileges=1
MSIProductCode

Installs a new version of the application.

An MSI database contains a product code and an upgrade code.

MSIUpgradeCode

When you update a package, keep the original value of the parameter.

If the parameter value of the new version is the same as the value of the old version, the installation prompts you to remove the old version.

If the values for the parameter are different, the installation uninstalls the old version and installs the new version.

Avoid specifying an MSIProductCode value. Allow ThinApp to generate a different product code for each build.

Regardless of the parameter values specified at build time, you can override the settings at deployment time.