PsExec挂起。 错误启动安装程序

在某些远程计算机上,当我使用PsExec运行安装程序(.exe文件)时,PsExec只是挂在那里。 当我尝试运行安装程序时,直接从远程计算机(位于system32中)传输PsExec,我得到以下popup式错误消息:

NSIS Error Error Launching Installer 

这似乎只发生在64位计算机上,只有一些安装人员。 然而,谷歌search后,我似乎没有find解决办法。

这个链接告诉我,它可能与它在system32下运行的事实有关。

奇怪的是,如果我将安装程序从system32复制到其他地方,如我的桌面,并从那里运行,它的工作原理!

这里发生了什么?

谢谢

矛盾的是,在64位Windows机器上:

  1. c:\ windows \ wow64 \包含32位系统文件。
  2. c:\ windows \ system32 \包含64位系统文件。

当一个32位程序试图访问c:\ windows \ system32 \时,它被redirect到c:\ windows \ wow64 \。 这与通过redirect将32位程序安装到c:\ program files(x86)\目录时发生的情况非常相似。

您可能会发现以下讨论有用: http : //forums.shoutcast.com/showthread.php?t=237297

底线:您已经发现了为什么从system32运行安装程序永远不可行的原因之一。 如果安装完成后不需要安装程序,请考虑将安装程序复制到临时位置,并在安装完成后将其删除。 如果您希望将安装程序保留在每台计算机上,请考虑build立安装程序所属的位置(例如c:\ install \ program-name)。

如何使用临时位置的示例:

  psexec \\ target-pc -e -c -f -wc:\ windows \ temp installer.exe 

细节:

  • -e:不要加载你的configuration文件(加快速度并节省远程PC上的磁盘空间)
  • -c:复制文件
  • -f:如果同名文件已经存在,则覆盖(谨慎使用)
  • -wc:\ windows \ temp:将工作目录设置为c:\ windows \ temp