MaintenanceStart

InstallShield 2015 » InstallScript Language Reference

The MaintenanceStart function creates a registry key and associated values that are used during initialization for maintenance or uninstallation and that provide information about the application to Add or Remove Programs. This function is called by the default code for the OnMoveData event handler.

Note: The InstallScript engine currently does not support writing or reading Add or Remove Programs information for a product in the 64-bit part of the registry. Therefore, using the REGDB_OPTION_WOW64_64KEY option with the REGDB_OPTIONS system variable is not supported for this registry function. Enabling the REGDB_OPTION_WOW64_64KEY option has no effect on where registry entries are created by this function.

MaintenanceStart creates the following values under the application uninstallation registry key:

Application Uninstallation Registry Key Values

Value Name

Value Data

Comments

The value of the system variable IFX_PRODUCT_COMMENTS, if non-null; otherwise, the function does not create an entry.

Contact

The value of the system variable IFX_PRODUCT_SUPPORT_CONTACT, if non-null; otherwise, the function does not create an entry.

DisplayIcon

The value of the system variable IFX_PRODUCT_ICON, if non-null; otherwise, the function does not create an entry.

DisplayName

The value of the system variable IFX_PRODUCT_NAME, if non-null; otherwise, the function does not create an entry.

DisplayVersion

The value of the system variable IFX_PRODUCT_VERSION.

HelpLink

The value of the system variable IFX_PRODUCT_SUPPORT_URL, if non-null; otherwise, the function does not create an entry.

HelpTelephone

The value of the system variable IFX_PRODUCT_SUPPORT_PHONE, if non-null; otherwise, the function does not create an entry.

InstallDate

The date on which the installation is run, in the format yyyymmdd.

InstallLocation

The value of the system variable TARGETDIR.

InstallSource

The value of the system variable SRCDIR.

Language

The value of the system variable SELECTED_LANGUAGE.

LogFile

<DISK1TARGET>\Setup.ilg

LogMode

The value of the system variable MAINT_OPTION.

ModifyPath

The value of the system variable UNINSTALL_STRING if ADDREMOVE_HIDECHANGEOPTION is FALSE and either of the following two conditions is true:

ADDREMOVE_HIDEREMOVEOPTION is non-zero
ADDREMOVE_HIDEREMOVEOPTION and ADDREMOVE_COMBINEDBUTTON are both FALSE

Otherwise, the function does not create an entry.

NoModify

The value of the system variable ADDREMOVE_HIDEREMOVEOPTION.

NoRemove

The value of the system variable ADDREMOVE_HIDEREMOVEOPTION.

NoRepair

1 if either ADDREMOVE_HIDECHANGEOPTION or ADDREMOVE_HIDEREMOVEOPTION is non-zero; otherwise, the function does not create an entry.

ProductGuid

The value of the system variable PRODUCT_GUID.

ProductId

The value of the system variable IFX_PRODUCT_REGISTEREDSERIALNUM, if non-null; otherwise, the function does not create an entry.

Publisher

The value of the system variable IFX_COMPANY_NAME, if non-null; otherwise, the function does not create an entry.

Readme

The value of the system variable IFX_PRODUCT_README, if non-null; otherwise, the function does not create an entry.

RegCompany

The value of the system variable IFX_PRODUCT_REGISTEREDCOMPANY, if non-null; otherwise, the function does not create an entry.

RegOwner

The value of the system variable IFX_PRODUCT_REGISTEREDOWNER, if non-null; otherwise, the function does not create an entry.

SystemComponent

1 if the system variable ADDREMOVE_SYSTEMCOMPONENT is non-zero; otherwise, the function does not create an entry.

UninstallString

The value of the system variable UNINSTALL_STRING. Additionally, the value of the system variable ADDREMOVE_STRING_REMOVEONLY is appended to this registry data if ADDREMOVE_HIDEREMOVEOPTION is FALSE and either of the following two conditions is true:

ADDREMOVE_HIDECHANGEOPTION is non-zero
ADDREMOVE_HIDECHANGEOPTION and ADDREMOVE_COMBINEDBUTTON are both FALSE

URLInfoAbout

The value of the system variable IFX_PRODUCT_URL, if non-null; otherwise, the function does not create an entry.

URLUpdateInfo

The value of the system variable IFX_PRODUCT_UPDATE_URL, if non-null; otherwise, the function does not create an entry.

Version

The packed DWORD equivalent of the data in the DisplayVersion value.

VersionMajor

The first byte of the data in the Version value.

VersionMinor

The second byte of the data in the Version value.

Syntax

MaintenanceStart ( );

Parameters

None

Return Values

MaintenanceStart Return Values

Return Value

Description

0

Indicates that the function successfully created the registry key and its associated values.

< 0

Indicates that the function was unable to create the registry key and its associated values.

You can obtain the error message text associated with a large negative return value—for example, -2147024891 (0x80070005)—by calling FormatMessage.

Additional Information

InstallScript installations always create VersionMajor and VersionMinor registry values in the Uninstall key. This applies to new installations that are created in InstallShield 2015, as well as installations that are upgraded from InstallShield 2009 or earlier. Previously, in InstallShield 2009 and earlier, the names of the values that InstallScript installations created were MajorVersion and MinorVersion; these are no longer created.

When the MaintenanceStart function is called, it creates the VersionMajor and VersionMinor value names in the registry. By default, it also deletes the MajorVersion and MinorVersion value names if they exist. If you do not want the MajorVersion and MinorVersion value names to be deleted from target systems, you can use the REGDB_OPTIONS option called REGDB_OPTION_NO_DELETE_OLD_MAJMIN_VERSION. If you want to continue using only the MajorVersion and MinorVersion value names, you must delete VersionMajor and VersionMinor after MaintenanceStart returns.

See Also