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



Doc ID: 57
製品: WinDriver
Version:  5.05 およびそれ以前

Plug-and-Play システム (Windows 98/Me/2000/XP) にドライバをインストールする - v5.05 およびそれ以前

WinDriver v5.05 またはそれ以前を使用して、Plug-and-Play (PnP) システムに PnP ハードウェア (PCI/USB) のドライバをインストールする際に、INF ファイルを使用して、対象のファイルのドライバとして wdpnp.sys PnP ドライバ (以前は wdusb.sys) をインストールします。
WinDriver の DriverWizard を使用して、対象のデバイスの INF ファイルを生成し、DriverWizard に表示される指示に従ってインストールします (WinDriver のユーザー マニュアルを参照してください)。

さらに、ハードウェアにアクセスするには WinDriver のサービスを起動する必要があります。[PnP に限らず、すべての OS にあてはまります]。このサービスは、windrvr.sys ドライバにサポートされています。
プログラム wdreg.exe で、このサービスをインストールします。

WinDriver v5.2 では、windrvr.sys と wdpnp.sys ファイルを統合して、1つの windrvr.sys ドライバ ファイルにし、INF ファイルのインストールで、PnP システムにインストールします。詳細は WinDriver のユーザー マニュアルを参照してください。

ドライバをインストールする前に、Install Shield または似たようなアプリケーション パッケージを使用して wdreg.exe を調整することができます (詳細は、テクニカル ドキュメント #54 を参照してください)。

ただし、Microsoft WHQ 仕様では、INF ファイルを使用して、インストール全体を実行する必要があるかもしれません。その場合、下記のように、RUN ONCE キーを使用して、INF ファイルでカスタム インストール プログラムの1つを実行することができます。[以下の内容は、WinDriver v5.05 またはそれ以前にもあてはまります]。

[Foobar.AddReg.NT]
HKLM,%RUNONCEKEYNAME%,,,"mycustom.exe"
.........
RUNONCEKEYNAME = "software\microsoft\windows\ currentversion\runonce\setup"

mycustom.exe
は、WinDriver のサービスをインストールし開始するために wdreg.exe のコードを編集したカスタム プログラムです。
wdreg.exe の詳細は、WinDriver のユーザー マニュアルを参照してください。

Windows 2000 でインストール プログラム (co-installer program) を選択することができます (詳細は、MSDN WEB サイトを参照してください)。

このようにアプリケーション プログラムを起動したくない場合、windrvr.sys を system32\drivers ディレクトリにコピーするために INF ファイルをセットアップし、WinDriver のサービスを登録します。
以下は、Windows 2000 での例です:

[Foobar.AddReg.NT]
HKR,,FriendlyName,,%Foobar.SvcDesc% ; Human readable name
HKLM,System\CurrentControlSet\Services\WinDriver,,,
HKLM,System\CurrentControlSet\Services\WinDriver,
"Start",0x10001,0x02 ;2= on boot, 3= on demand
HKLM,System\CurrentControlSet\Services\WinDriver,
"Type",0x10001,0x01
HKLM,System\CurrentControlSet\Services\WinDriver,
"ErrorControl",0x10001,0x01
HKLM,System\CurrentControlSet\Services\WinDriver,
"ImagePath", ,"\SystemRoot\System32\drivers\windrvr.sys"
HKLM,System\CurrentControlSet\Services\WinDriver,
"DisplayName",,WinDriver



[Foobar.CopyFiles.NT] ; Files to copy
windrvr.sys,,,2 ; 2= user can't skip this file

注意: WinDriver のサービスは、再起動後に開始されます。
Windows 2000/XP/98/ME の場合、Install セクションに INF ファイルに直接 Reboot (再起動) または Restart (再起動) を追加することによって、強制的に再起動をできます。

[InstallFoobar.NT]
CopyFiles=Foobar.CopyFiles.NT
AddReg=Foobar.AddReg.NT
Reboot


再起動を避けたい場合、上記で説明した1つを使用する必要があります (co-installer , SETUP\RUNONCE key、アプリケーション インストーラ)。