Je lance un fichier VBS qui doit être exécuté sur la version 64 bits de cscript. Sur la ligne de commande, lorsque j'appelle cscript, il ouvre la version 64 bits située au C:\Windows\System32\cscript.exe
et le fichier VBS fonctionne correctement. Cependant, je voudrais appeler ce fichier VBS via C# en tant que processus. Démarrage du processus avec le nom de fichier comme cscript
ouvre cscript, mais ouvre uniquement la version 32 bits, située à C:\Windows\SysWoW64\cscript.exe
.CScript lors de l'appel en tant que processus dans C# ouvre uniquement la version 32 bits
Même lorsque j'ai défini FileName pour pointer spécifiquement sur la version 64 bits de cscript, il charge uniquement la version 32 bits.
Comment puis-je forcer le processus à ouvrir la version 64 bits de cscript?
Voici mon code, y compris le chemin du fichier de version 64 bits expliqué ci-dessus:
string location = @"C:\location";
Process process = new Process();
process.StartInfo.FileName = @"C:\Windows\System32\cscript.exe";
process.StartInfo.WorkingDirectory = [email protected]"\VBS\";
process.StartInfo.Arguments = "scriptName.vbs";
process.Start();
Bonne réponse, plus concrète, ce qui est bien d'avoir un enregistrement au fur et à mesure que Visual Studio mélange leurs options avec chaque version. – user2494584