Thursday, March 7, 2013

InstallShield: Deploying 3rd party software prerequisites

Deploying a 3rd party software is a most useful feature in software packaging. Almost any software system relies on another software to function. Probably the most common examples would be .NET framework and SQL server.

InstallShield has a lengthy list of pre-configured prerequisite that you can choose from. To select a prerequisite you simply check it in "Redistributables" view.

Sometimes however you need to deploy a prerequisite that InstallShield hasn't prepared for you. To accomplish that you create a prerequisite definition in "Prerequisite Editor" (Go to Tools->Prerequisite Editor) and it will add to the list.

Creating prerequisite can be divided into two phases:

  1. Determining whether or not the prerequisite should be deployed. For instance by checking if the prerequisite is already installed on the target machine
  2. Deploying the prerequisite (assuming the answer to the 1st phase was yes)

To determine whether or not a prerequisite should be deployed you perform tests on the target system.
InstallShield lets you test it by:

  • Looking for the existence of a registry key
  • Comparing the data of a registry value
  • Comparing the data of a registry value assuming the data is a version string
  • Testing for the existence of a file
  • Searching for a given file with a specified date
  • Searching for a given file file with a specified version
  • Checking the OS version on the target machine
The "Prerequisite Editor" dialog has more options that you can explore (deployment command line, exit code handling, etc...)

No comments:

Post a Comment