テクニカル ドキュメント #49



Doc ID: 49
製品: WinDriver
Version:  --

Windows 2000 で、PCI/USB デバイスのドライバの置換で問題が発生します: WinDriver v5.2 を使用して、Plug and Play デバイス用の INF ファイルを作成およびインストールしました。WinDriver v6.03 にアップグレード後、デバイス用に新しい INF ファイルを作成し、wdreg.exe のインストールを試みましたが、Windows 2000 に、v5.22 の古い INF ファイルがインストールされています。どのように削除しますか?

この問題は、Windows 2000 の INF 選択アルゴリズムによるもので、下記の説明のとおり、新しいファイルをインストールする前に、Windows の inf ディレクトリからデバイスの古い INF ファイルを削除することによって解決できます。

windrvr.sys ドライバ モジュールと動作するようにデバイスを登録する INF ファイルをインストールすることによって、WinDriver v5.22 でデバイスのドライバをインストールした際に、そのデバイスの INF ファイルを %windir%\inf ディレクトリ (Windows の inf ディレクトリから直接 INF ファイルをインストールしなかった場合、このファイルは oem*.inf と名付けられます) にコピーします。
windrvr6.sys ドライバ モジュールと動作するようにデバイスを登録する INF ファイルをインストールすることによって、WinDriver v6.0x でデバイスのドライバをインストールした際に、新しい INF ファイルを inf ディレクトリ (このコピー名は、新しい INF ファイルと同一となります) にコピーします。そして、デバイスを再列挙し、Windows 2000 が古い INF ファイル (v5.22 から) を選択し、インストールします。この理由は、Windows 2000 では、Setup は、署名付きドライバ パッケージの場合のみ、最近の日付のドライバを選択します。その他の場合、Setup はデフォルトの日付として、00/00/0000 を使用します。この場合、署名無しのドライバとなるので、古い INF ファイルを選択します。

この問題を解決するには、Windows 2000 でデバイスの新しい INF ファイルをインストールする前に、Windows が古い INF ファイルをインストールするのを避けるために、先ず、inf ディレクトリから、そのデバイスの以前の INF ファイルをすべて削除してください。そのファイルにデバイスの vendor および device ID が含まれていることを確認してから削除してください。

注意: この問題は、WinDriver の v5.22 から v6.0x へのアップグレードまたは一般的な WinDriver の使用に関する問題ではありません。Windows 2000 で Plug and Play デバイスの署名無しドライバをインストールする新しい INF ファイルのロードを行う際に同じ現象が生じます。

WinDriver v5.22 から v6.02 へのアップグレードに関しましては、テクニカル ドキュメント 116 を参照してください。

メモ: 他の Plug and Play OS でも同様に、デバイスのドライバをアップグレードする前に Windows の古い INF ファイルを削除することを推奨します。(Windows 98/Me では、%windir%\inf\other ディレクトリに INF ファイルをコピーします)。