我有一个非常简单的程序
Process process = new Process();
process.StartInfo.FileName = @"psexec";
process.Start();但是当我运行它时,调试会说“系统找不到指定的文件”。
如果我有相同的程序,并通过“记事本”更改"psexec“,它工作并打开记事本。
Process process = new Process();
process.StartInfo.FileName = @"notepad";
process.Start();这很奇怪,因为我在System32中有我的psexec,如果使用Windows运行"psexec“,它就能工作。
提前感谢您的帮助。
更新:我指定了完整路径@="C:\Windows\System32\PSexec.exe",但它不工作。但是如果我把Psexec移动到,例如@"D:\psexec.exe",它就能工作!!为什么会发生这种事?
发布于 2012-11-30 18:00:24
在64位操作系统上运行c:\windows\ system 32中的程序很麻烦。解决方法是Project + Properties、Build选项卡、将平台目标更改为AnyCPU。或者将文件复制到c:\windows\syswow64 64。
或者只是不把它放在Windows目录中,它不是属于Windows目录的操作系统特定文件。适当的位置是与EXE相同的目录。
您可以在这篇MSDN文章中了解更多有关文件系统重定向器的信息。
发布于 2012-11-30 00:13:22
尝试指定“psexec”的完整路径
有任何属性“工作目录”,这可能会有所帮助。
https://stackoverflow.com/questions/13636951
复制相似问题