InstallerContactSite Map

General Properties

Type - shows the custom action's type and it can be a file installed by the package, an attached file, a VBScript, a C++ DLL etc.

See Predefined Custom Actions for a detailed description of the predefined custom actions used in Advanced Installer.

Action Data - represents the value of the CustomActionData property. This property can be retrieved as a regular property inside Deferred custom actions and it is available only for DLL, JScript and VBScript custom actions.

NoteDeferred custom actions can receive information about the installation process, mostly only embedded in the CustomActionData property. However, this type of custom actions do not have access to installer properties.

You can specify a text that will be displayed in the progress dialog box, or written in the log file, when the custom action is being run. Use the [ Action Text... ] button. The Edit Action Properties Dialog will be displayed and will allow you to specify the text. Note that only deferred custom actions can set an Action Text.

Execution Properties

  • Synchronous execution, check return code - the main thread of the installation waits for the custom action thread to complete. Then, the return code of the thread is checked. If it is not zero, the execution of the custom action is considered failed and the installation is canceled. Otherwise, the installation continues.
  • Synchronous execution, ignore return code - the main thread of the installation waits for the custom action thread to complete, but the return code of the custom action is ignored.
  • Asynchronous execution, wait for return code at the end of the sequence - the main thread waits for the completion of the custom action thread at the end of the sequence. The return code is considered.
  • Asynchronous execution, do not wait for return - the main thread never waits for completion of the custom action thread and the return code is ignored.

NoteThe last two options are not available for custom actions added in the rollback stage.

ImportantCustom actions that are executable files must return a value of 0 for success. The installer interprets any other return value as failure.

Execution Options

  • Immediate execution - the action will be executed immediately when it is found in the action sequence.
  • Deferred - the action will be executed in order as part of the script built out of all the non-immediate actions. Custom Actions before InstallInitialize and after InstallFinalize can not be deferred and they must be Immediate. Note that deferred custom actions do not have access to installer properties.
  • Rollback - execute the action only if something failed after this action and the installation is being rolled back.
  • Commit - the action will be executed in the Commit phase, after everything got installed successfully and there is no possibility for a rollback.
  • Deferred with no impersonation - the action uses the Deferred option, but runs under the local system account with full Administrator privileges instead of impersonating the current user.
  • Rollback with no impersonation - the action uses the Rollback option, but runs under the local system account with full Administrator privileges instead of impersonating the current user.
  • Commit with no impersonation - the action uses the Commit option, but runs under the local system account with full Administrator privileges instead of impersonating the current user.

ImportantOn Windows Vista or above the custom actions which affect the system or require Administrator privileges should run without impersonation (usually "Deferred with no impersonation"). This way they will run under the local system account with full privileges.

Scheduling Options

  • Always execute - if the action is present in both sequence tables it will be executed twice.
  • Execute only once if present in both sequence tables - will skip the execution of the action in the execute sequence if the UI sequence has run. The UI sequence will not be affected.
  • Execute once per process if in both sequence tables - if both sequences run in the same client process then the action will be skipped in the execute sequence.
  • Execute only if running after UI sequence has run - the action runs only if the execute sequence is run on the client following UI sequence.

Execution Condition

  • Expression - a boolean expression which must be true for the Custom Action to be executed. Use the [ ... ] button to edit a conditional statement.
  • Run when patch is uninstalled (Windows Installer 4.5 or higher) - makes the custom action run only when the patch which contains it is uninstalled.

Topics