valeurs de retour des Actions personnalisées JScript et VBScript

les actions personnalisées écrites dans JScript ou Visual Basic, scripting Edition (VBScript) peuvent 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. retourné en cas d’erreur lors de l’analyse ou de l’exécution du JScript ou de VBScript.
msiDoActionStatusSuspend IDRETRY = 4 Séquence suspendue à reprendre ultérieurement.
msiDoActionStatusFinished IDIGNORE = 5 Ignorer les actions restantes. N’est pas une 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 comme 1 (un) dans le fichier journal, cela signifie que l’action a retourné msiDoActionStatusSuccess. Pour plus d’informations sur cette traduction, consultez journalisation des valeurs de retour d’action.

Pour retourner une valeur autre que la réussite à 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 cible de la table CustomAction.

L’exemple de script suivant montre comment retourner la réussite ou l’échec 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 binaire du package d’installation comme MyCA.vbs, l’entrée de la table CustomAction du script serait la suivante :

Action Type Source Cible
MyCustomAction 6 MyCA.vbs MyVBScriptCA