If you are creating an InstallScript project, you should know about several special registry-related functions that are useful in creating the minimum required registry keys and values. This topic is also covered in the InstallShield help under the title "Special Registry-Related Functions". It is worth noting what the minimum required registry keys are, as you may need to refer to them in the future, or remove them from the registry in the case of a failed installation.
The functions are divided into three groups. One group deals with the Per Application Paths Key, another group deals with the Application Uninstallation Key, and the final group deals with the Application Information Key. As you look at each group's registry key, note that the root key will depend on what the ALLUSERS system variable is set to. If ALLUSERS is FALSE, or if you've called ProgDefGroupType(PERSONAL), the root key will be HKEY_CURRENT_USER. Otherwise, the root key will be HKEY_LOCAL_MACHINE.
The Per Application Paths Key stores path information enabling Windows to find your application's executable files. Here is the Per Application Paths Key:
<root key>\Software\Microsoft\Windows\CurrentVersion\App Paths\<per application paths key>
The functions in the Per Application Paths Key group are as follows:
CreateInstallationInfo()
RegDBDeleteItem()
RegDBGetItem()
RegDBSetItem()
The Application Uninstallation Key stores information which enables uninstallation functionality. Here is the Application Uninstallation Key:
<rootkey>\Software\Microsoft\Windows\CurrentVersion\Uninstall\<INSTANCE_GUID>
The functions in the Application Information Key group are as follows:
MaintenanceStart()
RegDBDeleteItem()
RegDBGetItem()
RegDBSetItem()
The Application Information Key stores information about the application. Here is the Application Information Key:
<root key>\Software\<company key>\<product key>\<version key>
The functions in the Application Information Key group are as follows:
CreateInstallationInfo()
RegDBGetAppInfo()
RegDBSetAppInfo()