作为部署过程的一部分,我正在尝试 GAC 一系列文件。实际的构建过程发生在构建服务器上,我正在尝试使用 psexec 来 GAC 请求构建的任何机器上的文件。
我正在尝试执行的当前行是:
C:\PsTools>psexec.exe \COMPUTER -u USER -p PASS gacutil.exe -i Assembly.dll -f
我回来的错误是:
将程序集添加到缓存失败:系统找不到指定的文件。
所以显然 dll 引用位于远程框上,不幸的是 dll 位于构建框上。有什么方法可以以某种方式使用 psexec 执行此操作,还是我需要将其复制到 \\COMPUTER 上的某个临时位置?我知道有一些命令可以将可执行文件复制为 psexec 进程的一部分,但我似乎找不到任何类似的支持文件。
我说您需要先将此文件复制到服务器,或者您可以从构建服务器共享文件并在您的 psexec 命令中引用该文件。
例如
psexec.exe \COMPUTER -u USER -p PASS gacutil.exe -i \buildbox\share\Assembly.dll -f
唯一要记住的是远程进程(在您的目标计算机上运行)在系统帐户的上下文中运行,您需要通过网络共享来适应这一点
希望有帮助