Definition of a WindowsCustomAction
The keyword for a definition of a custom action for the Windows Installer service is WindowsCustomAction. A global ID of a WindowsCustomAction should begin with gid_Customaction. WindowsCustomActions are not assigned to modules. They know their file, that contains the code of the Custom Action. A typical definition of a WindowsCustomAction in the scp projects looks like:
WindowsCustomAction
gid_Customaction_Shellextensionsdll3
Name =
"Shellextensionsdll3";
Typ = "65";
Source =
"shlxtmsi.dll";
Target =
"InstallStartmenuFolderIcon";
Inbinarytable =
1;
Assignment1 = ("InstallExecuteSequence", "Not
REMOVE=\"ALL\" And Not PATCH", "end");
End
The WindowsCustomAction has a name, that is the unique identifier in the table „CustomAction“ in the Windows Installer database. The type is included into the „Type“ column of the table „CustomAction“. The same with the source, which is in this case a library, that is included into the table „Binary“ of the msi database. Therefore the key „Inbinarytable“ is set to „1“. The target is the name of the procedure, that is started by the Windows Installer service. And finally the Assignment1 (many more assignments are possible with increasing numbers) defines the table, in which the CustomAction is included into the action order. Possible values are InstallExecuteSequence, InstallAdminSequence, InstallUISequence, ... . In this case als a condition for the execution can be defined and the position in the execute sequence.