Compartilhar via


Retornar valores de ações personalizadas JScript e VBScript

Ações personalizadas escritas em JScript ou Visual Basic, Scripting Edition (VBScript) podem chamar uma função opcional. Essas funções devem retornar um dos valores mostrados na tabela a seguir.

Valor de retorno Valor Descrição
msiDoActionStatusNoAction 0 Ação não executada.
msiDoActionStatusSuccess IDOK = 1 Ação concluída com êxito.
msiDoActionStatusUserExit IDCANCEL = 2 Terminação prematura por usuário.
msiDoActionStatusFailure IDABORT = 3 Erro irrecuperável. Retornado se houver um erro durante a análise ou execução do JScript ou VBScript.
msiDoActionStatusSuspend IDRETRY = 4 Sequência suspensa a ser retomada posteriormente.
msiDoActionStatusFinished IDIGNORE = 5 Ignore as ações restantes. Não é um erro.

 

Observe que o Windows Installer converte os valores retornados de todas as ações ao gravar o valor retornado no arquivo de log. Por exemplo, se o valor retornado da ação aparecer como 1 (um) no arquivo de log, isso significa que a ação retornou msiDoActionStatusSuccess. Para obter mais informações sobre essa tradução, consulte registro em log de valores de retorno de ação.

Para retornar um valor diferente do sucesso de uma ação personalizada de script, você deve usar um destino de função para a ação personalizada. A função de destino é especificada na coluna Destino do da Tabela CustomAction.

O exemplo de script a seguir mostra como retornar êxito ou falha de uma ação personalizada do 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

Se esse VBScript tiver sido inserido na tabela binária do pacote de instalação como MyCA.vbs, a a entrada da Tabela CustomAction para o script seria o seguinte:

Ação Tipo Fonte Alvo
MyCustomAction 6 MyCA.vbs MyVBScriptCA