J'essaie d'exécuter un exécutable à partir d'une application C# 32 bits (sur un système d'exploitation 64 bits), mais je reçois «Le système ne trouve pas le fichier spécifié "probablement parce que wsqmcons.exe n'existe pas dans C: \ Windows \ SySWOW64. Le fichier existe dans System32. Quelle est la meilleure façon d'exécuter wsqmcons.exe à partir du code, si possible?Exécution d'un exécutable 64 bits dans System32 à partir du code 32 bits
Process p = new Process();
p.StartInfo.Arguments = "-f";
p.StartInfo.FileName = @"C:\Windows\System32\wsqmcons.exe";
p.Start();
p.WaitForExit();
Verify.AreEqual(0, p.ExitCode);
Pour une solution rapide-n-sale, essayez de changer le chemin vers le: '@ "C: \ Windows \ Sysnative \ Wsqmcons.exe"'. Voir http://support.microsoft.com/kb/942589 pour plus de détails/pointeurs qui sont plus orientés vers l'API Win32, mais peuvent également aider dans .NET. –
@Michael D'après http://msdn.microsoft.com/en-us/library/aa384187%28VS.85%29.aspx, il est recommandé, donc ce n'est pas si vite-n-sale après tout! Je crois que vous devriez publier ce commentaire en guise de réponse. – Steven