Возможно, вы захотите проверить класс AssemblyInstaller в .NET Framework.
http://msdn.microsoft.com/en-us/library/System.Configuration.Install.AssemblyInstaller_methods.aspx
Вы можете создать управляемое настраиваемое действие, которое использует методы Install () и Commit (), чтобы сгенерировать mof вашего поставщика WMI и установить его. Вы также можете использовать методы Uninstall () и Commit () при удалении CustomAction.
Я не знаю, является ли это официальным рекомендуемым способом выполнения этой задачи. Это похоже на саморегистрацию, которую я не люблю использовать в установщике. Однако единственный известный мне способ зарегистрировать определения статических классов / экземпляров в базе данных WMI - это скомпилировать файл MOF. MOF, содержащий информацию о вашем классе / экземпляре, является ссылкой на сборку вашего поставщика WMI.
Класс AssemblyInstaller знает, как сгенерировать и скомпилировать ваш MOF-файл для вас. Существует также собственный API (IMofCompiler :: CompileFile): http://msdn.microsoft.com/en-us/library/aa390867(v=vs.85).aspx, который можно использовать для компиляции файла MOF.