更新提供程序

有时,可能需要在正在运行的系统上安装较新版本的提供程序。 如果提供程序作为 DLL 安装,则可以安装新提供程序,而无需重启服务、重新启动计算机,或以其他方式影响当时使用 WMI 的任何应用程序。

以下过程介绍如何更新提供程序。

更新提供程序

  1. 生成新提供程序。

    1. 使用不同的 DLL 名称和不同的 CLSID 编译新提供程序。

      例如,将 Myprov.dll 更改为 Myprov1.dll,将 CLSID_MyProProv 更改为 CLSID_MyProv1。

    2. 修改提供程序注册 MOF 文件以使用新的 CLSID (CLSID_MyProv1),但使用相同的提供程序名称 ("MyProv")。

  2. 安装新提供程序。

    1. 将新的提供程序 DLL 与旧名称一起复制。

    2. 自行注册新提供程序。

      例如,使用 regsvr32 myprov1.dll 命令注册新提供程序。

    3. 编译新的提供程序注册 MOF,从而覆盖旧的提供程序注册。 在此之前,旧的提供程序功能齐全;现在,新的提供程序已完全正常运行。

  3. 如有必要,请删除旧版本的提供程序。

    1. 取消注册旧 DLL。

      例如,使用 regsvr32 /umyprov.dll 命令取消注册旧 DLL。

    2. 通过调用 MoveFileEx 标记要在重新启动时删除的旧 DLL。

可以执行类似的步骤来升级本地服务器实现的提供程序。

开发 WMI 提供程序

设置命名空间安全描述符

保护提供程序