我正在编写一个.NET插件程序集,该程序集加载到以“网络服务”凭据运行的预先存在的服务中。
插件需要执行一些提升的操作,我需要启动一个提升的托管COM服务器。
我可以访问插件代码和COM服务器代码。
我的要求是在不以任何方式提示用户的情况下使COM服务器升级。服务器需要按需启动并在工作完成后终止。
如果有人可以帮我解决这个问题,那会有所帮助。感谢。
如果在安装时需要进行任何更改,则可以执行此操作。
PS:我发现了“COM Elevation Moniker”,但它似乎有助于提出不符合我要求的UAC提升对话框。
答案 0 :(得分:2)
由于您可以访问COM服务器,因此我建议您将其安装为COM+ application。
将其作为COM +应用程序安装后,您可set the application identity到执行操作所需的帐户。
从那里开始,假设COM组件与您正在运行的代码安装在同一台机器上, 应该能够以相同的方式访问.NET中的COM组件,因为{ {3}}将知道COM +正在拦截实现。