Поделиться через


Возвращаемые значения пользовательских действий JScript и VBScript

Пользовательские действия, написанные в JScript или Visual Basic, Scripting Edition (VBScript) могут вызывать необязательную функцию. Эти функции должны возвращать одно из значений, показанных в следующей таблице.

Возвращаемое значение Ценность Описание
msiDoActionStatusNoAction 0 Действие не выполняется.
msiDoActionStatusSuccess IDOK = 1 Действие выполнено успешно.
msiDoActionStatusUserExit IDCANCEL = 2 Преждевременное завершение пользователем.
msiDoActionStatusFailure IDABORT = 3 Неустранимая ошибка. Возвращается, если во время синтаксического анализа или выполнения JScript или VBScript возникает ошибка.
msiDoActionStatusSusSuspend IDRETRY = 4 Приостановленная последовательность для возобновления позже.
msiDoActionStatusFinished IDIGNORE = 5 Пропустить оставшиеся действия. Не ошибка.

 

Обратите внимание, что установщик Windows преобразует возвращаемые значения из всех действий при записи возвращаемого значения в файл журнала. Например, если возвращаемое значение действия отображается как 1 (один) в файле журнала, это означает, что действие возвращает msiDoActionStatusSuccess. Дополнительные сведения об этом переводе см. в ведения журнала возвращаемых значений действия.

Чтобы вернуть значение, отличное от успешного выполнения пользовательского действия скрипта, необходимо использовать целевой объект функции для пользовательского действия. Целевая функция указана в целевом столбце таблицы 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 Table для скрипта будет следующим:

Действие Тип Источник Цель
MyCustomAction 6 MyCA.vbs MyVBScriptCA