cancel
Showing results for 
Search instead for 
Did you mean: 

How do I add a Software under Installation Requirement section of Project Assistant?

How do I add a Software under Installation Requirement section of Project Assistant?

Summary

It is always a best practice for an installer to check for a dependent software, so that the installer can alert the end-user to install prior to the main installation.

InstallShield has Project Assistant to guide you on the same. It is under the section - “Installation Requirement”.

Project Assistant’s installation requirement has two parts:

  1. One for the operating system
  2. Second one for the software requirement

This article talks about the software requirement.

By default, InstallShield has certain number of software entries in the section, say you want to add a new one.

Discussion

Let us see how to add in the detailed section below:

Adding an entry to this section is handled by a configuration file(.ini) which you can view under <InstallShield Installed Path>\<InstallShield Version>\Searches

The Configuration file details are given below:

1. Create a new configuration file named Eg: SQLSERVEREXPRESS2017.ini.

2. Take any existing configuration file as a template from the Searches folder.

Configuration file contains the following sections:

[Title0409]

  • Name-Display string you want to name, the same will be displayed in Installation requirement section
  • Type-Type of check you would like to do, most commonly it would be registry
  • Description-Describes in detail about what the specific requirement does

3. On supporting German & Japanese, you can add [Tile0407],[Title0411]

4. [AppSearch]- The AppSearch table contains properties needed to search for a file which has a particular file signature. The AppSearch table can also be used to set a property to the existing value of a registry or .ini file entry.

  • Signature-Name of the signature to use for an application search
  • Property-Property to be set if the application is found

5. [RegLocator]-The RegLocator table holds the information needed to search for a file or directory using the registry, or to search for a particular registry entry itself. This table has the following columns.

6. [Reg Entry]-

  • Signature_=Signature name of the file to be used for search
  • Root-The predefined root key for the registry value.

Constant

HexaDecimal

Decimal

RootKey

msidbRegistryRootClassesRoot

0x000

0

HKEY_CLASSES_ROOT

msidbRegistryRootCurrentUser

0x001

1

HKEY_CURRENT_USER

msidbRegistryRootLocalMachine

0x002

2

HKEY_LOCAL_MACHINE

msidbRegistryRootUsers

0x003

3

HKEY_USER

  • Key-The key for the registry value.
  • Name-The registry value name. If this value is null, then the value from the key's unnamed or default value, if any, is retrieved.
  • Type-A value that determines if the registry value is a file name, a directory location, or raw registry value.

Constant

Hexadecimal

Decimal

Description

msidbLocatorTypeDirectory

0x000

0

Key path is a directory.

msidbLocatorTypeFileName

0x001

1

Key path is a file name.

msidbLocatorTypeRawValue

0x002

2

Key path is a registry value.

msidbLocatorType64bit

0x010

16

Set this bit to have the installer search the 64-bit portion of the registry. Do not set this bit to have the installer search the 32-bit portion of the registry.

 

7. [ExpressCondition0409]-Condition to validate the existence of file in the machine

  • Name=Display name of the condition to be added
  • Condition=Condition to validate based the property and value
  • Message=Message to be displayed on failing to satisfy the condition

8. On supporting German, Japanese you can add [ExpressCondition0407],[ExpressCondition0411]

Let us take an example of SQLServerExpress2017 as an installation requirement to be added to the  installer:

[Title0409]

Name=SQL Server 2017 Express

Type=Registry

Desc=Look for the existence of SQL Server 2017 Express on a system and sets the version of SQL Server Express 2017 as the value of the property SQLEXP2017FOUND.

[AppSearch]

Signature_=NewRegSignature

Property=SQLEXP2017FOUND

[RegLocator]

Records=Reg1

[Reg1]

Signature_=NewRegSignature

Root=2(Here value stands for msidbRegistryRootLocalMachine)

Key=SOFTWARE\Microsoft\Microsoft SQL Server\SQLEXPRESS\MSSQLServer\CurrentVersion

Name=CurrentVersion

Type=2(Here the value stands for msidbLocatorTypeRawValue)

[ExpressCondition0409]

Name=SQL Server 2017 Express is Installed

Condition=SQLEXP2017FOUND>="14.0.1000.169"(These conditions you can retrieve after installation of the dependent software in registry)

Message=SQL Server 2017 Express needs to be installed for this installation to continue.
Labels (2)
Was this article helpful? Yes No
No ratings