デバイスとドライバー パッケージのアンインストール方法

このページでは、ソフトウェアがデバイスをアンインストールし、ドライバー ストアからドライバー パッケージを削除する方法について説明します。

デバイスのアンインストール

物理デバイスを表すデバイス ノード (devnode) を削除するには、次のいずれかを使用します。

  • 指定したデバイスのみをアンインストールするには、SetupAPI 関数 SetupDiCallClassInstaller を呼び出すデバイス インストール アプリケーションを使用して、DIF_REMOVE の要求を実行します。

  • 指定したデバイスとその下のデバイスをデバイス ツリーでアンインストールするには、DiUninstallDevice 関数を呼び出すデバイス インストール アプリケーションを使用します。

これらの方法のいずれかを使用してデバイスをアンインストールすると、プラグ アンド プレイ (PnP) マネージャーは、ドライバー バイナリ ファイルとデバイスの間の関連付けを削除します。

デバイスはカーネル PnP ツリーに、ドライバー パッケージドライバー ストアに残ります。 PnP マネージャーがデバイスを再列挙する場合 (たとえば、デバイスが取り外され、もう一度接続されている場合)、PnP マネージャーはそれを新しいデバイス インスタンスとして扱い、ドライバー ストアからドライバー パッケージをインストールします。

エンド ユーザーがデバイスをアンインストールする方法については、「デバイス マネージャーを使用したデバイスとドライバー パッケージのアンインストール」を参照してください。

ドライバー ストアからドライバー パッケージを削除

ドライバー ストアからドライバー パッケージを削除するには、次のいずれかの操作を行います。

  • コマンド プロンプトからpnputil /delete-driver <example.inf> /uninstallを使用します。 PnPUtil コマンドの詳細については、「PnPUtil のコマンド構文」を参照してください。
  • Windows 10 バージョン 1703 以降では、デバイス インストール アプリケーションで DiUninstallDriverW を呼び出すことができます。
  • 以前のバージョンの Windows では、デバイス インストール アプリケーションが最初に DIF_REMOVE 要求を発行するか、DiUninstallDevice 関数を呼び出してすべてのデバイスをアンインストールしてから、SetupUninstallOEMInf を呼び出してドライバーを削除する必要があります。

ドライバー ストアからドライバー パッケージを削除すると、PnP マネージャーの内部データベースから関連付けられているメタデータが削除され、関連する INF ファイルがシステム INF ディレクトリから削除されます。

ドライバー パッケージが削除されると、デバイスにインストールできなくなります。 再インストールするには、Windows Update などの元のソースからドライバーをもう一度ダウンロードします。

ドライバー ストアからドライバー パッケージを手動で削除すると、予期しない動作が発生する可能性があります。