デバイスとドライバー パッケージのアンインストール方法
このページでは、ソフトウェアがデバイスをアンインストールし、ドライバー ストアからドライバー パッケージを削除する方法について説明します。
デバイスのアンインストール
物理デバイスを表すデバイス ノード (devnode) を削除するには、次のいずれかを使用します。
指定したデバイスのみをアンインストールするには、SetupAPI 関数 SetupDiCallClassInstaller を呼び出すデバイス インストール アプリケーションを使用して、DIF_REMOVE の要求を実行します。
指定したデバイスとその下のデバイスをデバイス ツリーでアンインストールするには、DiUninstallDevice 関数を呼び出すデバイス インストール アプリケーションを使用します。
これらの方法のいずれかを使用してデバイスをアンインストールすると、プラグ アンド プレイ (PnP) マネージャーは、ドライバー バイナリ ファイルとデバイスの間の関連付けを削除します。
デバイスはカーネル PnP ツリーに、ドライバー パッケージはドライバー ストアに残ります。 PnP マネージャーがデバイスを再列挙する場合 (たとえば、デバイスが取り外され、もう一度接続されている場合)、PnP マネージャーはそれを新しいデバイス インスタンスとして扱い、ドライバー ストアからドライバー パッケージをインストールします。
エンド ユーザーがデバイスをアンインストールする方法については、「デバイス マネージャーを使用したデバイスとドライバー パッケージのアンインストール」を参照してください。
ドライバー ストアからドライバー パッケージを削除
ドライバー ストアからドライバー パッケージを削除するには、次の手順を実行する必要があります。
- ドライバー パッケージと共にデバイスがインストールされていないことを確認します。
- ドライバー ストアからドライバー パッケージを削除します。
これらの両方の手順を 1 つのアクションで実行するには、次のいずれかの操作を実行します。
- Windows 10 バージョン 1607 以降では、コマンド プロンプト
pnputil /delete-driver <example.inf> /uninstall
から . PnPUtil コマンドの詳細については、「PnPUtil のコマンド構文」を参照してください。 - Windows 10 バージョン 1703 以降では、デバイス インストール アプリケーションで DiUninstallDriverW を呼び出すことができます。
Windows 10 バージョン 1511 以前の場合:
- ドライバー パッケージと共に現在インストールされているすべてのデバイスを特定し、ドライバー パッケージに依存しないように更新します。 次のいずれかの操作を実行できます。
- デバイスに別のドライバー パッケージをインストールします。
- デバイスに null ドライバーをインストールするには、
DIIDFLAG_INSTALLNULLDRIVER
フラグと共に DiInstallDevice を使用します。 - デバイスをアンインストールします。
- その後、デバイス インストール アプリケーションは SetupUninstallOEMInf を呼び出してドライバー パッケージを削除します。
ドライバー ストアからドライバー パッケージを削除すると、PnP マネージャーの内部データベースから関連付けられているメタデータが削除され、関連する INF ファイルがシステム INF ディレクトリから削除されます。
ドライバー パッケージが削除されると、デバイスにインストールできなくなります。 再インストールするには、Windows Update などの元のソースからドライバー パッケージをもう一度ダウンロードします。
ドライバー ストアからドライバー パッケージを手動で削除すると、予期しない動作が発生する可能性があります。