プロバイダーの更新

実行中のシステムにプロバイダーの新しいバージョンをインストールしなければならないことがあります。 プロバイダーが DLL としてインストールされている場合、サービスやコンピューターを再起動せずに、かつ、そのとき WMI を利用しているアプリケーションに影響を与えることなく、新しいプロバイダーをインストールできます。

次の手順は、プロバイダーを更新する方法になっています。

プロバイダーを更新するには

  1. 新しいプロバイダーをビルドします。

    1. 異なる DLL 名と異なる CLSID で新しいプロバイダーをコンパイルします。

      たとえば、Myprov.dll を Myprov1.dll に変更し、CLSID_MyProProvCLSID_MyProv1 に変更します。

    2. 新しい CLSID (CLSID_MyProv1) を使用するようにプロバイダー登録 MOF を変更します。ただし、プロバイダー名は同じです ("MyProv")。

  2. 新しいプロバイダーをインストールします。

    1. 新しいプロバイダー DLL を新しい名前と古い名前でコピーします。

    2. 新しいプロバイダーを自己登録します。

      たとえば、regsvr32myprov1.dll コマンドを使用して新しいプロバイダーを登録します。

    3. 新しいプロバイダー登録 MOF をコンパイルします。古いプロバイダー登録は上書きされます。 この時点まで、古いプロバイダーは完全に機能していました。これで新しいプロバイダーが完全に機能します。

  3. 必要に応じて、プロバイダーの古いバージョンを削除します。

    1. 古い DLL の登録を解除します。

      たとえば、regsvr32/umyprov.dll コマンドを使用し、古い DLL の登録を解除します。

    2. MoveFileEx を呼び出し、再起動時に古い DLL を削除するように指示します。

ローカル サーバーで実装したプロバイダーは同じような手順でアップグレードできます。

WMI プロバイダーの開発

名前空間セキュリティ記述子の設定

プロバイダーのセキュリティ保護