このページでは、ソフトウェアがデバイスをアンインストールし、ドライバー パッケージを ドライバー ストアから削除する方法について説明します。
デバイスのアンインストール
物理デバイスを表すデバイス ノード (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 以前の場合:
- ドライバー パッケージと共に現在インストールされているすべてのデバイスを特定し、ドライバー パッケージに依存しないように更新します。 次のいずれかの操作を実行できます。
- デバイスに別のドライバー パッケージをインストールします。
-
DIIDFLAG_INSTALLNULLDRIVERフラグを用いて、DiInstallDevice でヌルドライバーをデバイスにインストールします。 - デバイスのをアンインストールします。
- その後、デバイス インストール アプリケーション SetupUninstallOEMInf を呼び出して、ドライバー パッケージを削除します。
ドライバー ストアからドライバー パッケージを削除すると、PnP マネージャーの内部データベースから関連付けられているメタデータが削除され、関連する INF ファイルがシステム INF ディレクトリから削除されます。
ドライバー パッケージが削除されると、デバイスにインストールできなくなります。 再インストールするには、Windows Update などの元のソースからドライバー パッケージをもう一度ダウンロードします。
ドライバー ストアから ドライバー パッケージ を手動で削除、予期しない動作が発生する可能性があります。