2012-11-29 39 views
1

我有这个非常简单的程序无法启动PSEXEC

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

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

如果我有同样的程序,改变“PSEXEC “通过”记事本“,它可以工作并打开记事本。

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

这很奇怪,因为我有我在System32 PSEXEC如果运行“PSEXEC”使用Windows的运行,它的工作原理。

非常感谢您的帮助。

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

+0

你刚安装了psexec吗?尝试重新启动的东西。 – CookieOfFortune

+0

你尝试过'psexec.exe'而不是'psexec'吗?有一个美好的一天:) –

+0

我试过了,它不起作用。 –

回答

3

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

或者只是不把它放在Windows目录下,它不是属于那个操作系统的文件。适当的地方是与EXE相同的目录。

您可以通过this MSDN article了解关于文件系统重定向器的更多信息。

0

尝试指定“PSEXEC”

有任何财产“WorkingDirectory”,这可能会帮助的完整路径。