- Revenera Community
- :
- InstallShield
- :
- InstallShield Knowledge Base
- :
- How do I add a Software under Installation Requirement section of Project Assistant?
- Mark as New
- Mark as Read
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
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:
- One for the operating system
- 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.