更新提供程序

有时,可能需要在正在运行的系统上安装较新版本的提供程序。 如果提供程序是作为 DLL 安装的,则你可以安装新的提供程序,无需重启服务、重启计算机,也不会对此时使用 WMI 的任何应用程序造成影响。

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

更新提供程序

  1. 生成新提供程序。

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

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

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

  2. 安装新提供程序。

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

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

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

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

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

    1. 注销旧 DLL。

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

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

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

开发 WMI 提供程序

设置命名空间安全描述符

保护提供程序