Возвращаемые значения пользовательских действий JScript и VBScript
Пользовательские действия, написанные на языке JScript или Visual Basic, Scripting Edition (VBScript), могут вызывать необязательную функцию. Эти функции должны возвращать одно из значений, показанных в следующей таблице.
Возвращаемое значение | Значение | Описание |
---|---|---|
msiDoActionStatusNoAction | 0 | Действие не выполнено. |
msiDoActionStatusSuccess | IDOK = 1 | Действие успешно завершено. |
msiDoActionStatusUserExit | IDCANCEL = 2 | Преждевременное завершение пользователем. |
msiDoActionStatusFailure | IDABORT = 3 | Неустранимая ошибка. Возвращается при возникновении ошибки при синтаксическом анализе или выполнении JScript или VBScript. |
msiDoActionStatusSusPend | IDRETRY = 4 | Приостановленная последовательность, возобновляемая позже. |
msiDoActionStatusFinished | IDIGNORE = 5 | Пропустить оставшиеся действия. Не ошибка. |
Обратите внимание, что установщик Windows преобразует возвращаемые значения из всех действий при записи возвращаемого значения в файл журнала. Например, если возвращаемое значение действия отображается как 1 (один) в файле журнала, это означает, что действие вернуло msiDoActionStatusSuccess. Дополнительные сведения об этом переводе см. в разделе Ведение журнала возвращаемых значений действия.
Чтобы получить значение, отличное от успешного, из настраиваемого действия скрипта, необходимо использовать целевой объект функции для настраиваемого действия. Целевая функция указывается в столбце Target таблицы CustomAction.
В следующем примере скрипта показано, как возвращать успех или сбой из настраиваемого действия VBScript.
Function MyVBScriptCA()
If Session.Property("CustomErrorStatus") <> "0" Then
'return error
MyVBScriptCA = 3
Exit Function
End If
' return success
MyVBScriptCA = 1
Exit Function
End Function
Если этот код VBScript был внедрен в двоичную таблицу пакета установки как MyCA.vbs, запись Таблицы CustomAction для скрипта будет следующей:
Действие | Тип | Источник | Назначение |
---|---|---|---|
MyCustomAction | 6 | MyCA.vbs | MyVBScriptCA |