Valores retornados de ações personalizadas de JScript e VBScript
Ações personalizadas escritas em JScript ou Visual Basic, o Scripting Edition (VBScript) pode chamar uma função opcional. Essas funções devem retornar um dos valores mostrados na tabela a seguir.
Valor retornado | Valor | Descrição |
---|---|---|
msiDoActionStatusNoAction | 0 | Ação não executada. |
msiDoActionStatusSuccess | IDOK = 1 | Ação concluída com êxito. |
msiDoActionStatusUserExit | IDCANCEL = 2 | Encerramento prematuro 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. |
No entanto, 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 conversão, consulte Registro em log de valores retornados da ação.
Para retornar um valor diferente de êxito 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 Target 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 fosse inserido na tabela Binary do pacote de instalação como MyCA.vbs, a entrada da tabela CustomAction para o script seria a seguinte:
Ação | Tipo | Fonte | Destino |
---|---|---|---|
MyCustomAction | 6 | MyCA.vbs | MyVBScriptCA |