トップ回答者
Windows7でドライバがアンインストールできません

質問
-
Windows7(RC)でDIXfAPIのDriverPackageUninstall関数を使用してドライバをアンインストールしています。
システム下のドライバファイルが削除されませんでした。
C:\Windows\System32\drivers\xxx.sys
ただし、DriverStoreしたのファイル(sysファイル、infファイルなど)はフォルダごとに削除されました。
関数の戻り値が0(成功)になっています。
ちなみに、同じプログラムはVistaでちゃんと削除できます。
使用するDIFxAPI.dllのバージョンは2.1.0.0です。
原因や対策がご存じの方がいらっしゃいましたら、
ぜひ教えてください。
以上、よろしくお願い致します。
回答
-
かなり近い内容が DPInstを利用したドライバーのアンインストールでも発生します。
Windows デバイスドライバー開発の以下の内容参照ください。
Windows7 driverのアンインストール(dpinst使用)について
DriverPackageUninstall MSDNの記述を読むと
http://msdn.microsoft.com/en-us/library/ms790298.aspx
--以下のように記述されています。
Note Starting with Windows 7, the DIFxApp configuration flag to remove installed files, together with the DriverDeleteFiles attribute, are ignored by the operating system. Binary files, which were copied to a system when a driver package was installed, can no longer be deleted by using DIFxApp.
---
Vistaでは問題なく動作するので、バグのような気もするのですが、
仕様と理解するしかなさそうです。
アンインストールの処理にて、別途、System32下のドライバーファイルを直接削除するしか対策はないかと思います。
時間が空いていますが、参考になれば幸いです。- 回答としてマーク sigularpoint 2009年11月27日 8:42
すべての返信
-
かなり近い内容が DPInstを利用したドライバーのアンインストールでも発生します。
Windows デバイスドライバー開発の以下の内容参照ください。
Windows7 driverのアンインストール(dpinst使用)について
DriverPackageUninstall MSDNの記述を読むと
http://msdn.microsoft.com/en-us/library/ms790298.aspx
--以下のように記述されています。
Note Starting with Windows 7, the DIFxApp configuration flag to remove installed files, together with the DriverDeleteFiles attribute, are ignored by the operating system. Binary files, which were copied to a system when a driver package was installed, can no longer be deleted by using DIFxApp.
---
Vistaでは問題なく動作するので、バグのような気もするのですが、
仕様と理解するしかなさそうです。
アンインストールの処理にて、別途、System32下のドライバーファイルを直接削除するしか対策はないかと思います。
時間が空いていますが、参考になれば幸いです。- 回答としてマーク sigularpoint 2009年11月27日 8:42