Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Vous pouvez créer un script pour effectuer des actions lorsqu’une application est déployée, puis définir quand elle s’exécutera pendant le processus de déploiement. Vous pouvez inclure à la fois le code d’installation et de nettoyage dans le même script, à l’aide de variables d’environnement pour délimiter le code. Vous pouvez également passer des arguments de ligne de commande dans le script.
Avertissement
Vous devez toujours écrire des scripts destinés aux systèmes de production en mode silencieux. Cela est dû au fait qu’un script en attente d’entrée utilisateur entraîne le verrouillage et l'inaccessibilité des bases de données BizTalk jusqu’à ce que l’entrée soit reçue.
Spécification de l’exécution d’un script pendant le déploiement
Vous spécifiez quand un script s’exécute lorsque vous ajoutez le script à une application en l’ajoutant en tant que System.BizTalk :PreProcessingScript (script de prétraitement) ou un System.BizTalk :PostProcessingScript (script de post-traitement).
Les scripts de pré-traitement et de post-traitement s’exécutent comme suit :
Les scripts de prétraitement s’exécutent au début du processus d’importation ou d’installation.
Les scripts de post-traitement s’exécutent à la fin du processus d’importation ou d’installation.
Lors de la désinstallation, tous les scripts s’exécutent dans l’ordre opposé qu’ils exécutent pendant l’installation. Par conséquent, les scripts de post-traitement s’exécutent au début de la désinstallation et des scripts de prétraitement à la fin de la désinstallation.
Si une installation échoue, les scripts sont appelés dans l’ordre inverse avec l’action de restauration appropriée.
Une fois appelé, un script de pré-traitement ou de post-traitement détermine l’état de déploiement (installation, importation, suppression, désinstallation, restauration d’importation ou restauration d’installation) qu’il exécute en vérifiant les variables d’environnement BTAD_ChangeRequestAction, BTAD_InstallMode et BTAD_HostClass, comme décrit dans La façon dont les variables d’environnement indiquent l’état de déploiement. Pour plus d’informations sur les variables, consultez Variables d’environnement de script de pré-traitement et post-traitement.
Pour obtenir des instructions sur l’ajout d’un script à une application, consultez Comment ajouter un script de pré-traitement ou de post-traitement à une application.
Remarque
Si vous souhaitez inclure des arguments de ligne de commande dans un script, comme indiqué plus loin dans cette rubrique, vous devez utiliser la commande AddResource pour ajouter le script.
Extensions de fichier de script prises en charge
Les extensions de fichier de script suivantes sont prises en charge : .com, .exe, .bat, .cmd, .vbs, .vbe, .js, .jse, .wsf et .wsh. Cet ensemble d’extensions est défini dans la variable d’environnement PATHEXT.
Erreurs de journalisation
En guise de bonne pratique, vous devez configurer chaque script pour consigner les erreurs dans un fichier. Cela est dû au fait que Windows Installer ne consigne pas les erreurs générées dans les scripts. Vous devez vérifier ces logs après l'exécution du script pour toutes les erreurs à traiter.
Pour vous aider à déterminer quand l’erreur s’est produite, vous pouvez inclure la date et l’heure dans le fichier journal.
Utilisez le code suivant pour spécifier un fichier journal, puis journaliser une erreur.
Set LogFile=<full path of log file>
…
echo %DATE% %TIME% <text> >> %LogFile%
Dans l’exemple suivant, lorsque le jeton de clé publique n’est pas défini, une entrée est effectuée dans le fichier journal spécifié. Dans le fichier journal, la date et l’heure sont écrites dans la même ligne que le texte , « La clé publique doit être définie dans le script ».
set LogFile=C:\ScriptLog.txt
set PublicKeyToken=e5fd0ea4ecd37420
if not defined PublicKeyToken (
echo %DATE% %TIME% Public key should be set in script >> %LogFile%
Vous pouvez également ajouter la ligne exit /b 1 à un script pour générer un code d’erreur pour Windows Installer, ce qui entraînera une annulation de l'installation.
Dans l’exemple suivant, si le jeton de clé publique n’a pas été défini, le script renvoie une erreur à Windows Installer et le programme d’installation est rétabli.
set LogFile=C:\ScriptLog.txt
set PublicKeyToken=e5fd0ea4ecd37420
if not defined PublicKeyToken (
echo %DATE% %TIME% Public key should be set in script >> %LogFile%
exit /b 1
Inclusion du code d’installation et de nettoyage dans le même script
Étant donné que les scripts s’exécutent dans l’ordre inverse pendant l’installation et la désinstallation, vous pouvez inclure le code d’installation et de nettoyage dans le même script, à l’intérieur d’une instruction conditionnelle. Par exemple, vous pouvez placer le code d’installation dans une instruction conditionnelle qui vérifie le mode d’installation, comme suit :
%BTAD_ChangeRequestAction%=Update AND %BTAD_InstallMode%=Install
Vous pouvez qualifier le code de nettoyage dans une instruction conditionnelle qui vérifie le mode d’installation, comme suit :
%BTAD_ChangeRequestAction%=Delete AND %BTAD_InstallMode%=Uninstall
Passage d’arguments de ligne de commande
Vous pouvez passer des arguments de ligne de commande dans le script en spécifiant le paramètre suivant lorsque vous utilisez la commande BTSTask AddResource pour ajouter le script à l’application. Lorsque vous effectuez cette opération, les arguments sont passés au script lorsque le script est appelé.
/Property :Args="liste d'arguments »
Remarque
Si vous avez plusieurs scripts de pré-traitement ou de post-traitement dans l’application, ils sont exécutés dans un ordre quelconque.
Important
Vous ne devez pas utiliser les commandes BTSTask dans les scripts, en particulier celles qui s’exécutent pendant l’importation, car les scripts ne sont pas inscrits dans la même transaction qu’une importation.
Pour obtenir des instructions sur l’utilisation de la commande AddResource pour ajouter un script à une application, consultez Commande AddResource : Script de prétraitement. Voir également AddResource Command : Postprocessing Script
Voir aussi
Utilisation de scripts de pré-traitement et de post-traitement pour personnaliser le déploiement d’applications
Modèle (exemple de déploiement d’application)