Je rencontre des difficultés pour appeler l'utilitaire Microsoft Cabinet Maker (makecab) à partir d'un script de traitement par lots sur un serveur Windows Server 2003. Le script de traitement par lots est exécuté par Hudson (service d'intégration continue) installé en tant que service Windows sur la machine.Windows Server 2003 64 bits cmd.exe erreur
Procédé hudson.exe
(64 bits) génère un processus java.exe
(32 bits), ce qui génère un processus cmd.exe
(32 bits), ce qui génère un processus makecab.exe
(32 bits). Makecab produit alors une erreur:
D:\Hudson\jobs\Testing\workspace>C:\WINDOWS\system32\makecab.exe /F "D:\Build\2.3.278.40859.cab.df"
Microsoft (R) Cabinet Maker - Version 5.2.3790.0
Copyright (c) Microsoft Corporation. All rights reserved..
Parsing directives
Parsing directives (D:\Build\2.3.278.40859.cab.df: 1 lines)
D:\Build\2.3.278.40859.cab.df(12): ERROR:
Cependant, si j'ouvre une connexion de bureau à distance au serveur et ouvrir une fenêtre d'invite de commande et exécutez MakeCab cela fonctionne parfaitement. Mais j'ai remarqué que l'exécution de cmd.exe à partir de Démarrer> Exécuter génère un processus 64 bits, qui exécute ensuite un processus makecab 64 bits. Est-ce que quelqu'un peut expliquer pourquoi le makecab 32 bits peut être en train de lancer une erreur? L'exécutable existe à la fois dans C:\WINDOWS\system32
et C:\WINDOWS\SysWOW64
.
Est-il possible, à partir du script batch 32 bits cmd.exe
qui java.exe
fraie et exécute, pour exécuter la version 64 bits de makecab.exe
(autres que la copie de l'exécutable physique de C:\WINDOWS\system32
à C:\WINDOWS\SysWOW64
)?
Merci
Quelle est votre commande dans "Execute Windows Batch Shell" (si vous utilisez ceci)? – Sagar
C: \ WINDOWS \ system32 \ makecab.exe/F «D: \ Build \ 2.3.278.40859.cab.df» –