Freigeben über


Rückgabewerte von benutzerdefinierten JScript- und VBScript-Aktionen

Benutzerdefinierte Aktionen, die in JScript oder Visual Basic geschrieben wurden, können scripting Edition (VBScript) eine optionale Funktion aufrufen. Diese Funktionen müssen einen der Werte zurückgeben, die in der folgenden Tabelle angezeigt werden.

Rückgabewert Wert Beschreibung
msiDoActionStatusNoAction 0 Aktion nicht ausgeführt.
msiDoActionStatusSuccess IDOK = 1 Die Aktion wurde erfolgreich abgeschlossen.
msiDoActionStatusUserExit IDCANCEL = 2 Vorzeitige Beendigung durch den Benutzer.
msiDoActionStatusFailure IDABORT = 3 Nicht behebbarer Fehler. Wird zurückgegeben, wenn während der Analyse oder Ausführung 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 Windows Installer die Rückgabewerte aus allen Aktionen übersetzt, wenn der Rückgabewert in die Protokolldatei geschrieben wird. Wenn der Rückgabewert der Aktion beispielsweise in der Protokolldatei als 1 (eins) angezeigt wird, bedeutet dies, dass die Aktion msiDoActionStatusSuccess zurückgegeben hat. Weitere Informationen zu dieser Übersetzung finden Sie unter Protokollierung von Rückgabewerten für Aktionen.

Um einen anderen Wert als Erfolg aus einer benutzerdefinierten Skriptaktion zurückzugeben, müssen Sie ein Funktionsziel für die benutzerdefinierte Aktion verwenden. Die Zielfunktion wird in der Zielspalte der CustomAction Tableangegeben.

Das folgende Skriptbeispiel zeigt, wie Sie Erfolg oder Fehler aus einer benutzerdefinierten VBScript-Aktion zurückgeben.

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 die Binärtabelle des Installationspakets als MyCA.vbs eingebettet wurde, lautet der Eintrag "CustomAction Table" für das Skript wie folgt:

Aktion Art Quelle Ziel
MyCustomAction 6 MyCA.vbs MyVBScriptCA