Valori restituiti di azioni personalizzate JScript e VBScript

Le azioni personalizzate scritte in JScript o Visual Basic, Scripting Edition (VBScript) possono chiamare una funzione facoltativa. Queste funzioni devono restituire uno dei valori illustrati nella tabella seguente.

Valore restituito Valore Descrizione
msiDoActionStatusNoAction 0 Azione non eseguita.
msiDoActionStatusSuccess IDOK = 1 Azione completata correttamente.
msiDoActionStatusUserExit IDCANCEL = 2 Terminazione prematura da parte dell'utente.
msiDoActionStatusFailure IDABORT = 3 Errore non recuperabile. Restituito se si verifica un errore durante l'analisi o l'esecuzione di JScript o VBScript.
msiDoActionStatusSuspend IDRETRY = 4 Sequenza sospesa da riprendere in seguito.
msiDoActionStatusFinished IDIGNORE = 5 Ignorare le azioni rimanenti. Non un errore.

 

Si noti che Windows Installer converte i valori restituiti da tutte le azioni quando scrive il valore restituito nel file di log. Ad esempio, se il valore restituito dell'azione viene visualizzato come 1 (uno) nel file di log, ciò significa che l'azione restituita msiDoActionStatusSuccess. Per altre informazioni su questa traduzione, vedere Registrazione dei valori restituiti dell'azione.

Per restituire un valore diverso da un'azione personalizzata dello script, è necessario usare una destinazione di funzione per l'azione personalizzata. La funzione di destinazione viene specificata nella colonna Target della tabella CustomAction.

L'esempio di script seguente illustra come restituire l'esito positivo o l'errore da un'azione personalizzata 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 questo VBScript è stato incorporato nella tabella Binaria del pacchetto di installazione come MyCA.vbs, la voce Tabella customAction per lo script sarà la seguente:

Azione Tipo Source (Sorgente) Destinazione
MyCustomAction 6 MyCA.vbs MyVBScriptCA