Prerequisite Condition Dialog Box

InstallShield 2019

The Prerequisite Condition dialog box opens when you click the Add button on the Conditions tab of the InstallShield Prerequisite Editor. It also opens when you select an existing condition on this tab and then click the Modify button.

The Prerequisite Condition dialog box lets you define installation conditions that determine whether an InstallShield prerequisite is already installed on the target machine. Failure to do so causes problems because the target system behaves as if the prerequisite was not properly installed. You can also create installation conditions that specify operating system, registry, or file requirements.

Prerequisite Condition Dialog Box Options

Option

Description

A registry key does or does not exist

If you select this option, type the name of the registry key and select the appropriate registry location to check on a 64-bit system: 32-bit or 64-bit. The Default radio button indicates you have not made a selection and 32-bit is used.

If target machines that have this registry key should meet this installation condition, select If the specified registry key exists. If target machines that do not have this registry key should meet this installation condition, select If the specified registry key does not exist.

A registry entry has a specified value

If you select this option, type the name of the registry key, the name of the value, and the value data. Also, select the appropriate registry location to check on a 64-bit system: 32-bit or 64-bit. The Default radio button indicates you have not made a selection and 32-bit is used.

In addition, select the option that should be used to compare the registry entry specified in this dialog box with the registry entry on the target machine.

For example, if you specify 1.4.2 in the Value data box and select is greater than, target machines that have a value greater than 1.4.2 for this registry entry meet this installation condition.

A registry entry has a specified version value

If you select this option, type the name of the registry key, the name of the value, and the value data. The value data should be a version number.

Note that all leading zeros for every field of the version number are ignored. For example, 3.5.3.0010 is greater than 3.5.3.009, and 3.5.3.009 is greater than 3.5.3.01.

In addition, select the option that should be used to compare the registry entry specified in this dialog box with the registry entry on the target machine.

Lastly, select the appropriate registry location to check on a 64-bit system: 32-bit or 64-bit. The Default radio button indicates you have not made a selection and 32-bit is used.

A file does or does not exist

If you select this option, do one of the following:

Specify the path and name for the file. To specify a predefined folder, select the appropriate property in the list. The available properties are [CommonFiles64Folder], [CommonFilesFolder], [ProgramFiles64Folder], [ProgramFilesFolder], [System64Folder], [SystemFolder], and [WindowsFolder].

If you select one of the 64-bit folder locations, the installation checks the 64-folder location on 64-bit target systems and the 32-folder location on 32-bit target systems.

Specify just the file name—without the path or a property. The installation will search for the specified file in all directories defined for the PATH environment variable on the target machine.
Specify a registry key as a property. If you do this, the installation will resolve the registry key with the registry value. Note that the last element of the registry path is treated as a value name. If a backslash is the last character of the path, the value of the default registry entry for that registry key is used.

For example, if you type the following as the value, the installation checks if the path specified as the value for the HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ORACLE_HOME registry entry contains a bin directory with a file named oci.dll:

[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ORACLE_HOME]bin\oci.dll

If target machines that have this file should meet this installation condition, select If the specified file is found in the location specified above. If target machines that do not have this file should meet this installation condition, select If the specified file is not found in the location specified above.

A file with a certain date exists

If you select this option, do one of the following:

Specify the path and name for the file. To specify a predefined folder, select the appropriate property in the list. The available properties are [CommonFiles64Folder], [CommonFilesFolder], [ProgramFiles64Folder], [ProgramFilesFolder], [System64Folder], [SystemFolder], and [WindowsFolder].

If you select one of the 64-bit folder locations, the installation checks the 64-folder location on 64-bit target systems and the 32-folder location on 32-bit target systems.

Specify just the file name—without the path or a property. The installation will search for the specified file in all directories defined for the PATH environment variable on the target machine.
Specify a registry key as a property. If you do this, the installation will resolve the registry key with the registry value. Note that the last element of the registry path is treated as a value name. If a backslash is the last character of the path, the value of the default registry entry for that registry key is used.

For example, if you type the following as the value, the installation checks if the path specified as the value for the HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ORACLE_HOME registry entry contains a bin directory with a file named oci.dll:

[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ORACLE_HOME]bin\oci.dll

In addition, type the date and—if appropriate—the time. For example:

4/26/2004 3:57:46 PM

Then select the appropriate match option to indicate when to run the InstallShield prerequisite.

A file with a certain version exists

If you select this option, do one of the following:

Specify the path and name for the file. To specify a predefined folder, select the appropriate property in the list. The available properties are [CommonFiles64Folder], [CommonFilesFolder], [ProgramFiles64Folder], [ProgramFilesFolder], [System64Folder], [SystemFolder], and [WindowsFolder].

If you select one of the 64-bit folder locations, the installation checks the 64-folder location on 64-bit target systems and the 32-folder location on 32-bit target systems.

Specify just the file name—without the path or a property. The installation will search for the specified file in all directories defined for the PATH environment variable on the target machine.
Specify a registry key as a property. If you do this, the installation will resolve the registry key with the registry value. Note that the last element of the registry path is treated as a value name. If a backslash is the last character of the path, the value of the default registry entry for that registry key is used.

For example, if you type the following as the value, the installation checks if the path specified as the value for the HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ORACLE_HOME registry entry contains a bin directory with a file named oci.dll:

[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ORACLE_HOME]bin\oci.dll

In addition, type the version number of the file. For example:

6.7.8.9

Then select the appropriate match option to indicate when to run the InstallShield prerequisite.

Setup is running on a specified platform

If you select this option, click one of the predefined platforms in the Select which platform the prerequisite should be run on box, or select Custom to define your own platform requirements.

To specify a range of service pack numbers for which this prerequisite condition is true, use the Service Packs boxes. For example, if target system must have service pack 2, 3, or 4, enter 2 in the first box and 4 in the second box. To target all future service packs, leave the second box blank. To target only service pack 3, enter 3 in both boxes.

If you select Custom to define your own operating system, you can configure any one or more of the following settings in the Custom area:

Platform ID—Select the required platform.

If the value that you select matches the dwPlatformId member of the OSVERSIONINFOEX structure of the target system’s operating system, this part of the operating system condition evaluates as true.

Major Version—Specify the required major version of the operating system.

If the value that you specify matches the dwMajorVersion member of the OSVERSIONINFOEX structure of the target system’s operating system, this part of the operating system condition evaluates as true.

If you type 0 in this box, the operating system condition that InstallShield creates does not include any major version or minor version requirements; the behavior is the same if you leave the Major Version and Minor Version boxes blank.

Minor Version—Specify the required minor version of the operating system.

If the value that you specify matches the dwMinorVersion member of the OSVERSIONINFOEX structure of the target system’s operating system, this part of the operating system condition evaluates as true.

Note that 0 is a valid value for this box.

Setup is running on a specified platform (cont.)

Product (OS) Type—Select the required operating system type.

If the value that you select matches the wProductType member of the OSVERSIONINFOEX structure of the target system’s operating system, this part of the condition evaluates as true.

Note that if the InstallShield prerequisite supports both servers and domain controllers, you can select the Server or Domain Controller option.

Processor Architecture—Select the required processor architecture (for example, 32-bit or 64-bit Windows).

If the architecture that you select matches the architecture of the target system’s operating system, this part of the operating system condition evaluates as true.

Minimum CSD Version—Specify the minimum required service pack or other version information for the operating system.

Note that this setting is provided for compatibility with InstallShield prerequisites that were created with earlier versions of InstallShield, and to enable subversions of Windows 9x platforms to be distinguished. Using this setting to specify a particular service pack is not recommended; if you need to specify a particular service pack, use the Minimum Service Pack box.

If the value that you specify is the same version as or an earlier version than the szCSDVersion member of the OSVERSIONINFOEX structure of the target system’s operating system, this part of the operating system condition evaluates as true.

For example, if you specify “ A” and the szCSDVersion value on the target machine is “ B”, this part of the operating system condition evaluates as true. It evaluates as false if you specify “ B” but the value on the target machine is “ A”.

Similarly, if you specify “Service Pack 1” and the value on the target machine is “Service Pack 2”, this part of the operating system condition evaluates as true. It evaluates as false if you specify “Service Pack 2” but the value on the target machine is “Service Pack 1”.

Note that to prevent comparison problems, any leading and trailing spaces in the version that you specify and in the value of the szCSDVersion member on the target system are ignored.

Setup is running on a specified platform (cont.)

Minimum Build No—Specify the minimum required build number of the operating system.

If the value that you specify is the same version as or an earlier version than the dwBuildNumber member of the OSVERSIONINFOEX structure of the target system’s operating system, this part of the operating system condition evaluates as true.

For more information on specifying an operating system condition, see Adding an Operating System Condition for an InstallShield Prerequisite.

For details about the OSVERSIONINFOEX structure, see OSVERSIONINFOEX structure on the MSDN Web site.

See Also