Events

<< Click to Display Table of Contents >>

RayPack > 7.3 u6 > User Guide > PackDesigner > MSI / MST / RPP Based Projects > Advanced Mode > User Interface > Editing the Properties of a Control 

Events

Events are used to perform additional functionality when for example a button is pressed or a selection is changed.

To define an event for a control, select one that supports event publishing, that is:

 

A button

A checkbox

A selection tree

 

The Properties dialog lets you define the combination of an event, its arguments and condition.

 

Event
One of the predefined names recognized by Windows Installer, or a name of the Windows Installer property surrounded by square brackets.
 
The following predefined events are available:
 

ActionData

ActionText

AddLocal

AddSource

CheckExistingTargetPath

CheckTargetPath

DirectoryListNew

DirectoryListOpen

DirectoryListUp

DoAction

EnableRollback

EndDialog

IgnoreChange

MsiLaunchApp

MsiPrint

NewDialog

Reinstall

ReinstallMode

Remove

Reset

RmShutdownAndRestart

ScriptInProgress

SelectionAction

SelectionBrowse

SelectionDescription

SelectionNoItems

SelectionPath

SelectionPathOn

SelectionSize

SetInstallLevel

SetProgress

SetProperty

SetTargetPath

SpawnDialog

SpawnWaitDialog

TimeRemaining

ValidateProductID
 

A detailed description of each of these can be found on MSDN website:
https://msdn.microsoft.com/en-us/library/aa368043(v=vs.85).aspx

 

Argument
This is a string-based argument that is passed along with the event. Most of the events require a specific value to be present. RayPack correctly recognizes events like NewDialog, EndDialog etc. and will offer a choice of possible values when editing the value of the Argument column.
 
If the value of the Event is an MSI property enclosed in square brackets, then the value of Argument specifies the value that will be assigned to the property.

 

papercliper

Note:

This field is formatted. This means MSI properties can be used here, for example [ProductName]etc.

 

Condition
The condition can be specified to fine-tune when the event will be actually raised. For example, it is possible to disable a specific event to be published in case of uninstallation, based on value of MSI property, component state and more. Typing 1 into this column means that the event is always fired.

Adding a New Event

To add a new event, click on the Add... button. A new row will be added automatically.

Editing an Event

To edit an existing event, focus the cell to be edited and press F2 or click it for a second time using the left mouse button. RayPack will display a combo box editor if the set of allowed values could be determined. The value can be also typed manually. Some fields are additionally validated by RayPack. For example, RayPack prevents entering an empty string into the Event column to preserve internal MSI consistency. Any validation errors are shown inline. If you want to cancel editing and restore the previous value, press ESC while the validation error is being shown in the cell.

 

papercliper

Note:

Due to the Windows Installer limitations, some combinations of values may produce same MSI Primary Keys. When the changes are saved (by pressing either OK or APPLY button) RayPack will merge the events definition and ensure that they do not break the internal consistency of the package.

 

Deleting an Event

To delete an existing event, focus the row belonging to the event, and press the button Remove selected.

Reordering Events

Events can be reordered using drag and drop technique. The higher the event is present on the list, the sooner it gets executed in actual Installer session. To reorder the items, left click an event to be moved, and drag it with the left button still pressed to a desired place.