MsiServiceConfigFailureActions Table

The MsiServiceConfigFailureActions table lists operations to be run after a service fails. The operations specified in this table run the next time the system is started.

Windows Installer 4.5 or earlier: Not supported. This table is available beginning with Windows Installer 5.0.

The MsiServiceConfigFailureActions table has the following columns.

Column Type Key Nullable
MsiServiceConfigFailureActions Identifier Y N
Name Formatted N N
Event Integer N N
ResetPeriod Integer N Y
RebootMessage Formatted N Y
Command Formatted N Y
Actions Text N Y
DelayActions Text N Y
Component_ Identifier N N

 

Columns

MsiServiceConfigFailureActions

This is the primary key of this table that identifies a failure action.

Name

This column contains the name of a service that is a part of this package or that is already is installed.

Event

This column specifies when to change the service's configuration. The following values are bit fields that can be combined to represent multiple operations. Any other bit field values are ignored.

Constant Description
msidbServiceConfigEventInstall1
Change during installation of the component.
msidbServiceConfigEventUninstall2
Change during uninstallation of the component.
msidbServiceConfigEventReinstall4
Change during re-installation of the component.

 

ResetPeriod

The reset period in seconds of service's failure count. The Service Control Manager (SCM) counts the number of times each service has failed since the system was last restarted. The count is reset to zero if the service does not fail for the reset period. When the service fails for the Nth time, the system performs the action specified in the element [N-1] of the array specified in the Actions field.

Leave ResetPeriod field empty to indicate that failure count should never be reset.

RebootMessage

The message sent to users before restarting the computer in response to a SC_ACTION_REBOOT action specified in the Actions column. You can use an empty string, "", to send the current message unchanged. You can use [~] syntax of the Formatted data type to delete the current message and send no message.

Command

The command line run by the process created by the CreateProcess function in response to a SC_ACTION_RUN_COMMAND action specified in the Actions column. The new process runs under the same account as the service and only if the Action field is SC_ACTION_RUN_COMMAND. You can use an empty string, "", to use the current command line unchanged. You can use [~] syntax of the Formatted data type to delete the current command line and run no operation when the service fails.

Actions

This field contains an array of integer values that specify the actions taken by the SCM if the service fails. Separate the values in the array by [~]. The integer value in the Nth element of the array specifies the action performed when the service fails for the Nth time. Each member of the array is one of following integer values.

Constant Description
SC_ACTION_NONE0
No action.
SC_ACTION_REBOOT2
Restart the computer.
SC_ACTION_RESTART1
Restart the service.
SC_ACTION_RUN_COMMAND3
Run a command.

 

DelayActions

This field contains an array of integer values that specify the time in milliseconds to wait before performing the action specified in the Action column. Separate the values in the array by [~]. The number of elements in the DelayActions array must be equal to the number of elements in the Actions array. The Nth element of the DelayActions array specifies the time delay for the nth element of the Actions array.

Component_

External key to column one of the Component Table.

Validation

ICE102
ICE03
ICE06
ICE32
ICE45
ICE46
ICE69