2

我正在编写一个 .NET 插件程序集,该程序集加载到使用“网络服务”凭据运行的预先存在的服务中。

插件需要执行一些提升的操作,为此我需要启动提升的托管 COM 服务器。

我可以访问插件代码和 COM 服务器代码。

我的要求是在不以任何方式提示用户的情况下提升 COM 服务器启动。服务器需要按需启动并在工作完成后终止。

如果有人可以帮助我如何实现这一目标,那将会有所帮助。谢谢。

如果在安装时需要进行任何更改,则可以这样做。

PS:我发现了“COM Elevation Moniker”,但它似乎有助于调出不符合我要求的 UAC 海拔对话框。

4

1 回答 1

2

因为您可以访问 COM 服务器,所以我建议将其安装为COM+ 应用程序

将其作为 COM+ 应用程序安装后,您可以将应用程序标识设置为执行操作所需的帐户。

从那里开始,假设 COM 组件与您正在运行的代码安装在同一台机器上,您应该能够以相同的方式在 .NET 中访问 COM 组件,因为CoCreateInstance将知道 COM+ 正在拦截实现。

于 2012-10-25T14:31:34.043 回答