我们有一个winforms LOB应用程序,在正常情况下应该从应该进行基本版本检查并下载任何更新的组件的启动器启动,然后生成主进程.
我们看到的一个问题是,一些工作人员通过不运行更新应用程序发现它加载速度更快,但是这可能导致人们没有最新的功能并导致各种头痛的支持.
我希望能够做的是,如果他们没有通过初始化应用程序,则会发出警告.理想情况下,我希望能够在不必更改更新应用程序的情况下执行此操作(因为这意味着在每个客户端上安装新的MSI),而出现的方法是找到一些方法来查找有关开始"我"并检查白/黑名单的过程,我永远无法找到办法做到这一点?
旁白:当然,如果我确实使用更改更新应用程序,我可能会将其更改为将预共享密钥作为命令行参数传递,或者更好的是,更改应用程序以便我可以将其加载为一个类库,通过反射实例化相关的类.ClickOnce已被排除,因为它不支持为多个用户安装
请参阅此处:如何以托管方式在.NET中获取父进程
从链接:
using System.Diagnostics;
PerformanceCounter pc = new PerformanceCounter("Process",
"Creating Process ID", Process.GetCurrentProcess().ProcessName);
return Process.GetProcessById((int)pc.NextValue());
Run Code Online (Sandbox Code Playgroud)
[编辑:另请参阅System.Diagnostics FAQ以获取有关此问题的更多信息。感谢贾斯汀提供的链接。]