Video Screencast Help
Endpoint Management Community Blog

Reduce the Installation Time of MSI Packages (Ver 5 Vs Earlier versions)

Created: 26 Oct 2009 • Updated: 26 Oct 2009
B_Raj's picture
+1 1 Vote
Login to vote

While we deal with large windows installer packages, time required to install the package is one of the key factor in measuring the efficiency\quality of the package.

I’m briefing  here about some of the techniques that can be used to reduce the installation time of a MSI package.

Using MSIFASTINSTALL Property

The MSIFASTINSTALL property can be used to reduce the time required to install a large Windows Installer package. The property can be set on the command line or in the Property table to configure operations that the user or developer determines are non-essential for the installation.

How MSIFASTINSTALL Property will help to reduce the time?

1. This property helps to skip creating system restore point action in MSI install sequence.

2. This property helps to skip calculating the space requirements action in MSI install sequence. (Filecost)

Thus,if the developer is sure about there won’t be any rollback required and the user’s machine will have enough disk space to install the application ,the developer can use this property.

The value of the MSIFASTINSTALL property can be a combination of the following values.

Value

Meaning

0

Default value

1

No system restore point is saved for this installation.

2

Perform only File Costing and skip checking other costs.

4

Reduce the frequency of progress messages.

Eg: msiexec /I <path to msi> MSIFASTINSTALL=1 /l*v <log file path /qb

This property is not supported by Windows Installer 4.5 or earlier versions. This property is available beginning with Windows Installer 5.0. (Windows Installer 5.0 is available  on Windows Server 2008 R2 or Windows 7.)

Read more about MSIFASTINSTALL property in Verboon’s blog

http://www.verboon.info/index.php/2009/07/reduce-software-installation-time/

Reducing installation time on  4.5 or earlier versions .

Repackagers can use the below tips to reduce the installation time of a package while you deal with large packages. J

1.Use DisableRollback Action

The DisableRollback Action disables rollback for the remainder of the installation. Rollback is disabled only for the actions that are sequenced after the DisableRollback action in the sequence tables. Rollback is disabled for the entire installation if the DisableRollback action is sequenced before the InstallInitialize action.

2.Remove the cost related actions from Install sequence (Eg:filecost)

Costing is the process of determining the total disk space requirements for an installation. The elements calculated in the file costing process include the amount of disk space in which files are installed or removed, as well as the amount of disk space taken up by registry entries, shortcuts, and other miscellaneous files. Existing files scheduled to be overwritten are also calculated in the disk cost totals.

3.Use efficient customactions .

While writing scripts in custom actions, develop efficient scripts.

4.Reduce information in Logs

Log only the required information in logs

Read Richard’s blog to get more information about windows installer logging

http://blogs.technet.com/richard_macdonald/archive/2007/04/02/How-to-Interpret-Windows-Installer-Logs.aspx

5.Use Advertised installations

Provides on demand installation and by default filecost action won’t be present in Advertised installation sequence.