无法启动PSEXEC

时间:2012-11-29 23:55:17

标签: c# psexec

我有这个非常简单的程序

Process process = new Process();
process.StartInfo.FileName = @"psexec";
process.Start();

但是当我运行它时,调试说“系统找不到指定的文件”

如果我有相同的程序并通过“记事本”更改“psexec”,它将起作用并打开记事本。

Process process = new Process();
process.StartInfo.FileName = @"notepad";
process.Start();

这很奇怪,因为我在System32中使用了psexec,如果使用Windows-Run运行“psexec”,它就可以工作。

提前感谢您的帮助。

更新:我指定完整路径@="C:\Windows\System32\PSexec.exe"并且它不起作用。但是,如果我将Psexec移动到,例如@"D:\psexec.exe"它就可以了! 为什么会发生这种情况?

2 个答案:

答案 0 :(得分:3)

在64位操作系统上运行来自c:\ windows \ system32的程序很麻烦。解决方法是Project + Properties,Build选项卡,将Platform目标更改为AnyCPU。或者将文件也复制到c:\ windows \ syswow64。

或者只是不将它放在Windows目录中,它不是属于那里的特定于操作系统的文件。适当的位置是与EXE相同的目录。

您可以在this MSDN article中了解有关文件系统重定向器的更多信息。

答案 1 :(得分:0)

尝试指定'psexec'的完整路径

有任何属性'WorkingDirectory',这可能会有帮助。