我需要直接从远程计算机执行程序,因为他们的网络许可系统与程序一起使用。
您在服务器上安装并注册一次,所有客户端通过打开可执行文件通过网络共享访问它。
我写了一个小应用程序,它应该可以很容易地访问网络共享并打开程序。
到目前为止没有问题。我可以像这样执行程序,它会打开。耶
// Some cred and network stuff.
// ...
Process.Start("\\192.168.0.100\Share\MyProgram.exe");
但是程序会弹出一条消息,表明该程序可能已被复制。就好像它已经在本地执行了一样。
如果我通过资源管理器打开程序,则不会出现此问题,只需以这种方式打开它 => \\192.168.0.100\Share\MyProgram.exe
。
是否Process.Start()
将远程打开的文件存储在本地机器上(临时)?如果是这样,有没有办法解决?
附加信息:
问:有些人可能会想,如果您可以在桌面上创建一个快捷方式,为什么要为此付出这么多麻烦呢?或者为什么不制作一个批处理文件?
A: IMO,在 C# 中更容易隐藏凭据。仅在必要时才应授予对网络共享的访问权限。只有当有人想使用该程序时才需要这样做。