If a domain test bed is not avaiable, either real or virtualized, it is best to use a single workstation to test an unproven MSI based package. Frequently the deployment process is hung up when the MSI performs a custom action that requires some form of user interaction. It is important to not only look for this behavior in new installations, but also MSI’s used to upgrade long functioning deployed applications, before introducing either to your GPO.

This is the recommended test procedure:

A) Perform an installation and look for dialogues that require user intervention:

MSIEXEC /i “\\path_to_msi” /qb

The /i switch tells MSIEXEC to install or configure a product

The /qb switch tells MSIEXEC to use a basic UI

B) If the application does not install correctly, check the MSI log file for errors. Otherwise confirm the application is functioning correctly.

C) It is critical to test what happens during uninstallation of the application too. Any user interaction requirements could cause a failure when upgrading or removing your application later. Run the following command to observe the uninstall process:

MSIEXEC /x “\\path_to_msi” /qb

The /x switch tells MSIEXEC to uninstall the product

D) If the application installs and uninstalls without requiring user interaction, it will probably work fine deployed. To finalize a simulation, the application should be silently installed remotely using PSEXEC and the following commands:

G) If the application appears to be working, you can proceed with assigning it to your GPO.

H) If application does not deploy, try the following:

Examine the MSI logs on the client computer and make any adjustments necessary.

Confirm Vista’s UAC is not blocking installation.

Check http://www.appdeploy.com for valuable tips and tricks, particularly if you are deploying a popular commerical package. The site has some great resources on how to customize packages so they will install correctly.