次の方法で共有


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

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

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

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

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

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

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

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

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

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

ドライバー ストアから ドライバー パッケージ を削除するには、次の手順を実行する必要があります。

  • ドライバー パッケージと共にデバイスがインストールされていないことを確認します。
  • ドライバー ストアからドライバー パッケージを削除します。

これらの両方の手順を 1 つのアクションで実行するには、次のいずれかの操作を実行します。

  • Windows 10 バージョン 1607 以降では、コマンド プロンプトから pnputil /delete-driver <example.inf> /uninstallを使用します。 PnPUtil コマンドの詳細については、「PnPUtil コマンド構文 を参照してください。
  • Windows 10 バージョン 1703 以降では、デバイス インストール アプリケーションは DiUninstallDriverWを呼び出すことができます。

Windows 10 バージョン 1511 以前の場合:

  1. ドライバー パッケージと共に現在インストールされているすべてのデバイスを特定し、ドライバー パッケージに依存しないように更新します。 次のいずれかの操作を実行できます。
    1. デバイスに別のドライバー パッケージをインストールします。
    2. DIIDFLAG_INSTALLNULLDRIVER フラグを用いて、DiInstallDevice でヌルドライバーをデバイスにインストールします。
    3. デバイスのをアンインストールします。
  2. その後、デバイス インストール アプリケーション SetupUninstallOEMInf を呼び出して、ドライバー パッケージを削除します。

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

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

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