Partager via


Valeurs de retour des actions personnalisées JScript et VBScript

Actions personnalisées écrites en JScript ou Visual Basic, Scripting Edition (VBScript) peut appeler une fonction facultative. Ces fonctions doivent retourner l’une des valeurs indiquées dans le tableau suivant.

Valeur retournée Valeur Description
msiDoActionStatusNoAction 0 Action non exécutée.
msiDoActionStatusSuccess IDOK = 1 Action terminée avec succès.
msiDoActionStatusUserExit IDCANCEL = 2 Arrêt prématuré par l’utilisateur.
msiDoActionStatusFailure IDABORT = 3 Erreur irrécupérable. Valeur retournée en cas d’erreur lors de l’analyse ou de l’exécution de JScript ou VBScript.
msiDoActionStatusSuspend IDRETRY = 4 Séquence suspendue à reprendre ultérieurement.
msiDoActionStatusFinished IDIGNORE = 5 Ignorer les actions restantes. Pas d’erreur.

 

Notez que Windows Installer traduit les valeurs de retour de toutes les actions lorsqu’il écrit la valeur de retour dans le fichier journal. Par exemple, si la valeur de retour de l’action apparaît sous la forme 1 (un) dans le fichier journal, cela signifie que l’action retourne msiDoActionStatusSuccess. Pour plus d’informations sur cette traduction, consultez Journalisation des valeurs de retour d’action.

Pour retourner une valeur autre que success à partir d’une action personnalisée de script, vous devez utiliser une cible de fonction pour l’action personnalisée. La fonction cible est spécifiée dans la colonne Target de la table CustomAction.

L’exemple de script suivant vous montre comment retourner une valeur success ou fail à partir d’une action personnalisée 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

Si ce VBScript était incorporé dans la table Binary du package d’installation en tant que MyCA.vbs, l’entrée CustomAction Table pour le script serait la suivante :

Action Type Source Cible
MyCustomAction 6 MyCA.vbs MyVBScriptCA