How to test packages (Testing scenarios)

Using the Testing PC in all scenarios:


Test install on a PC with Clean image

This is to make sure that the package is complete by itself. If you are missing a certain file in the package (i.e. you deleted it by accident) it will be obvious.


Test install on a PC with your “corporate image”

Here you install your application along with the other application that will normally be on a workstation in your environment. This to make sure that the package can function with the rest of the applications that you will have. If it fails, then the package must compensate but still be complete. Sometimes it’s another package’s fault.


Test installing the application as an administrator then test using a diferent administrator

Install the application but don’t launch it at all. Logout and use a different user. If it doesn't work as expected then the package does not populate the profile and.or Hive for alternate users. Sometimes this is intentional due to "Per User" licensing vs. "Per Machine" licensing. Most software is licensed on a "Per Machine" basis.

NOTE: This is when many commercial packages fail. Most developers assume that the users of their application will be the same user that installed it. This is why some applications work using your account but not your wife's because you installed it using your account.


Test installing the application as an administrator but test with a Restricted User

Install the application but don’t launch it at all. Logout and use a user with restricted permissions. The application should only populate the user’s profile and Hive; otherwise you need to ease up on the permissions on the C: drive and/or Registry.

NOTE: This is where most commercial packages fail. Most developers assume that the users of their application will also have full access to the machine, all the time. In businesses, however, they lock down the PCs to prevent tampering which is supposed to reduce services calls. This test is critical in those environments.


Test removing the application

This is to see how clean the removal of the package:

-Logon as an Administrative User

-Uninstall the MSI package

-Test to make sure the App does not work anymore and no traces remain.

NOTE: Some applications will leave folders that contain user created files and/or configuration files. It is usually preferred that the configuration files are kept for a future re-installation or upgrade without having to fully configure the new product. In the times when you don’t want this, some developers end-up creating a “Cleanup Package” whose sole purpose in life is to remove traces of another application. It not a bad idea since even MS have one for Office. Too bad this functionality is not part of the MSI spec… (HINT HINT MS ;) )


Any other tests that you can think of would have to revolve around what the package does.