Freigeben über


Rückgabewerte von benutzerdefinierten JScript- und VBScript-Aktionen

In JScript oder Visual Basic, Scripting Edition (VBScript) geschriebene benutzerdefinierte Aktionen können eine optionale Funktion aufrufen. Diese Funktionen müssen einen der Werte zurückgeben, die in der folgenden Tabelle aufgeführt sind.

Rückgabewert Wert BESCHREIBUNG
msiDoActionStatusNoAction 0 Aktion wurde nicht ausgeführt.
msiDoActionStatusSuccess IDOK = 1 Aktion wurde erfolgreich abgeschlossen.
msiDoActionStatusUserExit IDCANCEL = 2 Vorzeitige Beendigung durch den Benutzer.
msiDoActionStatusFailure IDABORT = 3 Nicht behebbarer Fehler. Wird zurückgegeben, wenn beim Parsen oder Ausführen von JScript oder VBScript ein Fehler auftritt.
msiDoActionStatusSuspend IDRETRY = 4 Angehaltene Sequenz, die später fortgesetzt werden soll.
msiDoActionStatusFinished IDIGNORE = 5 Verbleibende Aktionen überspringen. Kein Fehler.

 

Beachten Sie, dass der Windows Installer die Rückgabewerte aller Aktionen übersetzt, wenn der Rückgabewert in die Protokolldatei geschrieben wird. Wenn der Rückgabewert der Aktion in der Protokolldatei beispielsweise als 1 angezeigt wird, bedeutet dies, dass die Aktion „msiDoActionStatusSuccess“ zurückgegeben hat. Weitere Informationen zu dieser Übersetzung finden Sie unter Protokollierung von Aktionsrückgabewerten.

Wenn Sie über eine benutzerdefinierte Skriptaktion einen anderen Wert für einen erfolgreichen Vorgang zurückgeben möchten, müssen Sie ein Funktionsziel für die benutzerdefinierte Aktion verwenden. Die Zielfunktion wird in der Spalte „Target“ der CustomAction-Tabelle angegeben.

Das folgende Skriptbeispiel veranschaulicht, wie eine benutzerdefinierte VBScript-Aktion einen Wert für einen erfolgreichen oder fehlgeschlagenen Vorgang zurückgeben kann.

Function MyVBScriptCA()

    If Session.Property("CustomErrorStatus") <> "0" Then
        'return error
        MyVBScriptCA = 3
        Exit Function
    End If

    ' return success
    MyVBScriptCA = 1
    Exit Function

End Function

Wenn dieses VBScript in der Binary-Tabelle des Installationspakets als „MyCA.vbs“ eingebettet wäre, würde der Eintrag in der CustomAction-Tabelle für das Skript wie folgt aussehen:

Aktion type `Source` Ziel
MyCustomAction 6 MyCA.vbs MyVBScriptCA