我创建了一个Windows服务,通过WCF从远程机器接受命令.其中一个命令是运行指定的可执行文件(让我们忽略这些功能的安全含义).
在我的服务中,我使用Process.Start()来运行可执行文件.如果可执行文件是计算机本地的,那么一切正常,但如果它位于远程文件共享上,则它会失败并且没有错误(或者更准确地说是挂起).我怀疑问题是它触发了标准的Windows'Unverified Publisher'警告,人们会看到他们是否双击远程系统上的exe.
有什么方法可以绕过我的服务,以便我可以真正运行任何可执行文件?正如我所说,我理解允许它运行任何可执行文件的安全含义,但这正是我所需要的.我本以为这个警告只是一个用户模式的概念,但它确实似乎妨碍了我的服务.
想法?
我遇到过同样的问题。您对“未经验证的发布者”警告的看法是正确的。
我的解决方案是将 EXE 本地复制到 %TEMP% 文件夹中,然后从那里启动它。就我而言,这是最佳选择,因为 EXE 没有依赖项。