Specifying the Directories that Contain InstallShield Prerequisites

InstallShield 2018

Project • This information applies to the following project types:

Basic MSI
InstallScript
InstallScript MSI

The default location for InstallShield prerequisite files (.prq) is:

InstallShield Program Files Folder\SetupPrerequisites

InstallShield lets you specify additional or alternative locations on your local machine, or on a network. This flexibility enables you to store InstallShield prerequisites in source code control and to share a common set of InstallShield prerequisites with other team members.

InstallShield offers several ways for specifying the search paths for InstallShield prerequisite files (.prq):

If you are editing or building from within InstallShield, use the Prerequisites tab on the Options dialog box—which is displayed when you click Options on the Tools menu—to specify a comma-delimited list of machine-wide folders and current-user folders.

InstallShield saves the paths that you specify on the Prerequisites tab in the registry on your machine. The paths that you specify for the current user are stored in the following location:

HKEY_CURRENT_USER\Software\InstallShield\Version\Professional\Project Settings\PrerequisiteSearchPath

The paths that you specify for all users are stored in the following location:

HKEY_LOCAL_MACHINE\Software\InstallShield\Version\Professional\PrerequisiteSearchPath

The Options dialog box is not available if you are using the Standalone Build to build a release; however, if you want, you can manually add the paths to the registry on a machine that has the Standalone Build.

If you are building from the command line with ISCmdBld.exe, use the -prqpath parameter to specify a comma-delimited list of folders.

If you use an .ini file to specify ISCmdBld.exe parameters, you can use the PrerequisitePath parameter in the [Mode] section of your .ini file to specify a comma-delimited list of folders.

If you are building through MSBuild or Team Foundation Server (TFS), use the PrerequisitePath parameter on the InstallShield task. This parameter is exposed as the ItemGroup InstallShieldPrerequisitePath when the default targets file is used. To specify multiple paths, use an ordered array of paths.

Instead of using hard-coded paths, you can use path variables in paths, as in the following example:

<ISProductFolder>\SetupPrerequisites,<ISProjectFolder>\MyCustomPrerequisites

The Redistributables view and the Prerequisites view list the names of the InstallShield prerequisites that correspond with the .prq files that are present in the various search paths that are specified on the Prerequisites tab of the Options dialog box. If the same .prq file is in multiple search paths, InstallShield shows only the first instance that it encounters. InstallShield first searches each path that is listed in the per-user setting on the Prerequisites tab. Then, InstallShield checks each path that is listed in the machine-wide setting.

At build time, if your project includes one or more InstallShield prerequisites, InstallShield (or the Standalone Build) searches the specified locations and includes the appropriate InstallShield prerequisites in your release as needed. If the same .prq file is in multiple search paths, InstallShield includes in the build only the first instance that it encounters. It uses the following order to search for .prq files:

1. InstallShield (or the Standalone Build) checks the paths that are specified through the -prqpath command-line parameter, the PrerequisitePath .ini file parameter, or the PrerequisitePath parameter on the InstallShield task.
2. InstallShield checks each path that is listed in the per-user setting on the Prerequisites tab. The paths are saved in the following location in the registry.

HKEY_CURRENT_USER\Software\InstallShield\Version\Professional\Project Settings\PrerequisiteSearchPath

Note that the Prerequisites tab is not applicable to the Standalone Build, but the registry path is applicable.

3. InstallShield checks each path that is listed in the machine-wide setting on the Prerequisites tab. The paths are saved in the following location in the registry.

HKEY_LOCAL_MACHINE\Software\InstallShield\Version\Professional\PrerequisiteSearchPath

Note that the Prerequisites tab is not applicable to the Standalone Build, but the registry path is applicable.

4. If no paths are specified in any of the aforementioned locations, InstallShield checks the default location (InstallShield (or Standalone Build) Program Files Folder\SetupPrerequisites).

Tip • If you are using the Standalone Build to build a release that includes InstallShield prerequisites but you do not specify one or more search paths, the Standalone Build searches the default path (<ISProductFolder>\SetupPrerequisites) for the InstallShield prerequisite files. However, if you specify one or more search paths and do not explicitly include the default path, the Standalone Build does not search the default path.

See Also