PsExec不适用于64位计算机

当使用PsExec的-c标志将.exe复制到64位Windows计算机时,执行它时出现错误,PsExec在那里停顿。

任何人遇到这个?

这是关于social.msdn相关的线程 ?

海报在一些64位机器上遇到了PsExec的问题,但得到了“…设备不能正常工作…”的信息。 不过,他在答复中指出:

经过一些更多的testing,我发现这个问题只发生在WES 7 64位上。
任何零售版本32或64位和WES 7 32位将工作正常。
然后我记得以下更新:
KB982199是针对64位系统的更新,它修复了以下问题:禁用redirect时,Windows Embedded Standard 7 64位运行时上的32位应用程序的CreateProcess失败
安装此更新后,问题解决了。

const string subkey =“Software \ Sysinternals \ PsExec”;

  if (Environment.Is64BitOperatingSystem) { // For 64 Bit PC RegistryKey registryKey64 = RegistryKey.OpenBaseKey(RegistryHive.CurrentUser, RegistryView.Registry64); RegistryKey NDPKey64 = registryKey64.OpenSubKey(subkey); if (NDPKey64 != null) { Registry.CurrentUser.OpenSubKey(subkey, true).SetValue("EulaAccepted", 1, RegistryValueKind.DWord); } else { RegistryKey regKey64 = registryKey64.OpenSubKey("Software", true); regKey64.CreateSubKey("Sysinternals\\PsExec", RegistryKeyPermissionCheck.ReadWriteSubTree); Registry.CurrentUser.OpenSubKey(subkey, true).SetValue("EulaAccepted", 1, RegistryValueKind.DWord); } } else { //For 32 bit PC RegistryKey registryKey32 = Registry.CurrentUser.OpenSubKey(subkey); if (registryKey32 != null) { Registry.CurrentUser.OpenSubKey(subkey, true).SetValue("EulaAccepted", 1, RegistryValueKind.DWord); } else { RegistryKey regKey32 = Registry.CurrentUser.OpenSubKey("Software", true); regKey32.CreateSubKey("Sysinternals\\PsExec", RegistryKeyPermissionCheck.ReadWriteSubTree); Registry.CurrentUser.OpenSubKey(subkey, true).SetValue("EulaAccepted", 1, RegistryValueKind.DWord); } }