使用 WIX 安装 WMI 提供程序

发布于 2024-07-16 12:06:26 字数 131 浏览 6 评论 0原文

我使用 System.Management.Instrumentation 命名空间在 C# 中开发了一个 WMI 提供程序。 我需要将提供程序安装到 GAC 中并使用 MSI 将其注册到 WMI 存储库。 我如何使用 WIX 来实现这一目标?

I have developed a WMI provider in C# using the System.Management.Instrumentation namespace. I need to install the provider into the GAC and register it with the WMI repository using MSI. How might I accomplish this with WIX?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

您需要一个 CustomAction 来注册 WMI 提供程序。 我们考虑过向 WiX 工具集中添加一个标准 CustomAction 来支持这一点,但还没有时间这样做。 可能需要相当多的工作。

You'll need a CustomAction to register the WMI provider. We've thought about adding a standard CustomAction to the WiX toolset to support this but haven't had the time to do so yet. Probably quite a bit of work.

面如桃花 2024-07-23 12:06:26

您可能想查看 .NET 框架中的 AssemblyInstaller 类。
http://msdn.microsoft.com/en-us /library/System.Configuration.Install.AssemblyInstaller_methods.aspx

您可以创建一个托管自定义操作,该操作使用 Install() 和 Commit() 方法生成 WMI 提供程序的 mof 并安装它。 您还可以在卸载 CustomAction 中使用 Uninstall() 和 Commit() 方法。

我不知道这是否是官方推荐的完成此任务的方法。 这有点像自我注册,我不喜欢在安装程序中使用。 然而,据我所知,在 WMI 数据库中注册静态类/实例定义的唯一方法是编译 MOF 文件。 包含类/实例信息的 MOF 是引用 WMI 提供程序程序集的位置。

AssemblyInstaller 类知道如何为您生成和编译 MOF 文件。 还有一个本机 API (IMofCompiler::CompileFile): http://msdn.microsoft.com/en-us/library/aa390867(v=vs.85).aspx 可用于编译 MOF 文件。

You may want to check out the AssemblyInstaller class in the .NET framework.
http://msdn.microsoft.com/en-us/library/System.Configuration.Install.AssemblyInstaller_methods.aspx

You can create a managed custom action that uses the Install() and Commit() methods to generate a mof of your WMI provider and install it. You can also use the Uninstall() and Commit() methods in your uninstall CustomAction.

I don't know if this is the official recommended way to accomplish this task. It kind of feels like self-registration which I don't like to use in an installer. However, the only way I know of to get static class/instance definitions registered in WMI's database is to compile a MOF file. The MOF containing your class/instance information is where your WMI provider assembly is referenced.

The AssemblyInstaller class knows how to generate and compile your MOF file for you. There is also a native API (IMofCompiler::CompileFile): http://msdn.microsoft.com/en-us/library/aa390867(v=vs.85).aspx that can be used to compile your MOF file.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文