none
Windows7でドライバがアンインストールできません RRS feed

  • 質問

  • Windows7(RC)でDIXfAPIのDriverPackageUninstall関数を使用してドライバをアンインストールしています。
    システム下のドライバファイルが削除されませんでした。
    C:\Windows\System32\drivers\xxx.sys
    ただし、DriverStoreしたのファイル(sysファイル、infファイルなど)はフォルダごとに削除されました。
    関数の戻り値が0(成功)になっています。
    ちなみに、同じプログラムはVistaでちゃんと削除できます。
    使用するDIFxAPI.dllのバージョンは2.1.0.0です。
    原因や対策がご存じの方がいらっしゃいましたら、
    ぜひ教えてください。
    以上、よろしくお願い致します。
    2009年9月9日 8:21

回答


  • かなり近い内容が 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
    2009年11月26日 15:51

すべての返信


  • かなり近い内容が 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
    2009年11月26日 15:51
  • ご回答ありがとうございました。

    仕様になってしまいましたね。ちょっと理解しにくい仕様ですが。。。
    実は仕方無くてDiverstore下のファイルを直接削除するようにしました。
    APIではそのファイルを削除できないのが仕様になっていることを教えて頂いて、
    ある意味ほっとしました。
    ありがとうございます。

    2009年11月27日 8:35