Guidelines for Creating Custom Actions that Meet Requirements of the Windows Logo Program

InstallShield 2015

Project: This information applies to the following project types:

Basic MSI
DIM
InstallScript MSI
Merge Module
MSI Database
MSM Database
Transform

If you are applying for the Windows logo, your application must meet Microsoft’s Windows logo program requirements. You can use the validation suite to verify whether your installation package meets most of the custom action–related logo requirements. However, some of the requirements cannot be verified through the validation suites.

Following is a list of the requirements that are not validated through the validation suites or the associated ISICEs but still must be met to achieve logo compliance for the Windows logo program:

Do not call the Global Assembly Cache tool (Gacutil.exe) from a custom action. This tool was not designed to be used during installations.
All custom actions must record success or failure in the Windows Installer log by calling MsiProcessMessage.
Custom actions that change system state during installation must remove or restore the system state during uninstallation. In addition, custom actions that change system state must be written as a deferred and rollback custom action pair.

This does not apply to custom action types 19 (displays an error, returns failure, and ends the installation), 35 (sets the installation directory), or 51 (sets a property)

The intended behavior of each custom action in your installation must be documented. This does not apply to custom action types 19 (displays an error, returns failure, and ends the installation), 35 (sets the installation directory), or 51 (sets a property). For more information, see Documenting the Behavior of Custom Actions.

For information about all of the InstallShield custom actions that are added automatically to InstallShield projects to support different functionality, see InstallShield Custom Action Reference.