• 検索結果がありません。

Windowsの場合

ドキュメント内 WinDriver v11.70 ユーザーズ ガイド (ページ 142-146)

第 9 章 実行に当たっての問題

14.2 Windowsの場合

注意:

 この章の説明の “wdreg” と記述している個所を “wdreg_gui” に置き換えることができます。同じ機 能ですが、コンソール モード メッセージの代わりに GUI メッセージが表示されます。

 WinDriver のカーネル モジュール (windrvr6.sys) の名前を変更する場合、windrvr6 に関連す

る参照を対象のドライバ名に置き換え、WinDriver\redist ディレクトリへの参照を変更したインス トール ファイルを含むディレクトリのパスに置き換えてください。たとえば、DriverWizard で生成したドラ イバ プロジェクトに名前を変更したドライバ ファイルを使用する場合、WinDriver\redist への参 照を生成された xxx_installation\redist ディレクトリに置き換えてください (xxx は生成され たドライバ プロジェクトの名前です) 。

 新しい INF ファイルと (または) カタログ ファイルを作成した場合、オリジナルの WinDriver の INF ファ イルへの参照と (または) wd1170.cat ファイルへの参照を新たしいファイル名に置き換えてください (詳細は、セクション 15.2.1 と 15.3.2 を参照してください)。

作成したドライバを配布するには、いくつかのステップを行う必要があります。まずドライバをターゲット シス テムにインストールする配布パッケージを作成します。次に、ターゲット マシンにドライバをインストールしま す。このプロセスは windrvr6.sys と windrvr6.inf 、デバイス用 (Plug-and-Play ハードウェア – PCI / USB 用) の INF ファイル、Kernel PlugIn ドライバ (作成した場合) をインストールします。最後に WinDriver で開発したハードウェア コントロールアプリケーション をインストールして実行します。これら全ての手順は、

wdreg ユーティリティで行えます。

注意: このセクションでは *.sys ファイルの配布について説明しています。WinDriver のバージョン 6.21 以 降より *.vxd ドライバはサポートされていません。

14.2.1 配布パッケージの用意

配布するパッケージには、次のファイルを含めます。

注意: 32-bit と 64-bit の両方のターゲット プラットフォームにドライバを配布する場合、各プラットフォーム用 にそれぞれ WinDriver のインストール パッケージを別々に用意してください。各パッケージに必要なファイ ルは、それぞれのプラットフォーム用の WinDriver のインストール ディレクトリ以下にあります。

 ハードウェア コントロール アプリケーション / DLL

windrvr6.sys (WinDriver\redist ディレクトリにあります)。

windrvr6.inf (WinDriver\redist ディレクトリにあります)。

wd1170.cad (WinDriver\redist ディレクトリにあります) 。

wd_api1170.dll (WinDriver\redist ディレクトリにあります。32 ビット バイナリを 32 ビット のターゲット プラットフォーム、64 ビット バイナリを 64 ビットのプラットフォームに配布します)。

wdapi1170_32.dll (WinDriver\redist ディレクトリにあります。32 ビット バイナリを 64 ビッ トのターゲット プラットフォームに配布します)。

difxapi.dll (wdreg.exe ユーティリティに必要。WinDriver\util ディレクトリにありま す)。

 デバイス用の INF ファイル (PCI / PCMCIA / USB などの Plug-and-Play デバイスには必要です)。

DriverWizard でこのファイルを生成します。詳細は、セクション 5.2 を参照してください。

 Kernel PlugIn ドライバ (<KD ドライバ名>.sys) (作成した場合)

14.2.2 ターゲット コンピュータにドライバをインストール

注意: ドライバをターゲット コンピュータにインストールするにはターゲット コンピュータの管理者権限が必要 です。

以下の手順に従い、ターゲットコンピュータにドライバをインストールします。

 インストールの前に

ドライバをインストールする際には、WinDriver のサービス (windrvr6.sys または名前変更した ドライバ) へのハンドルが開いていないことをご確認ください。また、WinDriver のサービスと動作 するように登録したPlug-and-Play デバイスが接続されていない、および有効になっていないことを ご確認ください。たとえば、これはドライバのバージョンをアップグレードする際にも関連します (WinDriver v6.00 およびそれ以降の場合に当てはまります。それ以前のバージョンでは、モジュー ル名が異なります)。サービスが使用されている場合には、wdreg を使用して新しいドライバをイン ストールすると失敗します。デバイス マネージャから接続したデバイスを無効またはアンインストー ルするか ([プロパティ] – [無効] または [削除]) 、もしくは PC からデバイスを物理的に切断します。

 WinDriver のカーネルモ ジュールのインストール:

windrvr6.sys、windrvr6.inf と wd1170.cat ファイルを同じディレクトリにコピーしま す。

注意: wd1170.cat には、ドライバ認証のデジタル署名が含まれます。署名の認証を維持 するには、windrvr6.inf ファイルと同じインストール ディレクトリにおく必要があります。カ タログ ファイルと INF ファイルを異なるディレクトリに配布する場合、またはこれらのファイルを 変更またはカタログ ファイルによって参照されるファイル (windrvr6.sys など) を変更する 場合、以下のいずれかの処理が必要です:

 新しいカタログ ファイルを作成し、このファイルを使用してドライバを再署名する 。

windrvr6.inf ファイルの以下の行をコメントアウトか削除します:

CatalogFile = wd1170.cat

そして、ドライバの配布にカタログ ファイルを含めません。ただし、この場合、インストー ルではドライバのデジタル署名を使用しないので、推奨いたしません。

ドライバのデジタル署名と認証および対象の WinDriver ベースのドライバの署名に関して は、マニュアルのセクション 15.3 を参照してください。

wdreg ユーティリティを使用して、ターゲット コンピュータに WinDriver のカーネル モジュー ルをインストールします。

wdreg -inf <windrvr6.inf のパス> install

た と え ば 、windrvr6.inf お よ び windrvr6.inf を タ ー ゲ ッ ト コ ン ピ ュ ー タ の d:\MyDevice\ ディレクトリにある場合、以下のようになります。

wdreg -inf d:\MyDevice\windrvr6.inf install

WinDriver ツールキットの WinDriver\util ディレクトリ以下にがあります。このユーティリ

ティの一般的な説明および使用方法に関しては、第 13 章 を参照してください。

注意:

wdreg は、difxapi.dll DLL に依存します。

wdreg は対話型のユーティリティです。問題があるとメッセージを表示して問題を解決 する方法を示します。場合によってはコンピュータの再起動を指示します。

注意: ドライバの配布時に、新しいバージョンの windrvr6.sys を Windows ドライバ ディレ クトリ (%windir%\system32\driver) の古いバージョンのファイルで上書きしないように ご注意ください。インストール プログラムまたは INF ファイルでインストーラが自動的にタイム スタンプを比較して新しいバージョンを古いバージョンで上書きしないように設定することを推 奨いたします。

windrvr6.sys ファイルは COPYFLG_NO_VERSION_DIALOG INF ディレクティブを使用 します。これは、コピー先の既存のファイルがコピー元のファイルよりも新しい場合、コピー元 のファ イルでコピー先の ファ イ ルを上書きしないよ うにデ ザ インされています。同様 に COPYFLG_OVERWRITE_OLDER_ONLY INF ディレクティブがあります。これは、コピー先の ファイルがより新しいバージョンに取って代えられる場合のみ、コピー元のファイルをコピー先 のディレクトリへコピーするようにデザインされています。ただし、これらの INF ディレクティブ の両方は、デジタル署名されたドライバには適用されませんので、ご注意ください。Microsoft の INF CopyFiles Directive ドキュメントの説明のとおり

(http://msdn.microsoft.com/en-us/library/ff546346%28v=vs.85%29.aspx)、ドライバ パッケー ジがデジタル署名されている場合、Windows はパッケージ全体をインストールし、対象のコン ピュータに既に他のバージョンが存在する場合でもパッケージのファイルを選択して除外しま せん。Jungo Connectivity から提供する windrvr6.sys ドライバはデジタル署名されていま す。

 対象のデバイスの INF ファイルのインストール (windrvr6.sys と動作するように登録した Plug and Play デバイス):

対象の INF ファイルを自動的にインストールし Windows デバイス マネージャを更新するには、以 下のように wdreg を起動して、install コマンドを実行します。

wdreg -inf <対象の INF ファイルのパス> install

preinstall コマンドを実行して、PC に接続されていないデバイスの INF ファイルを pre-install することができます。

wdreg -inf <対象の INF ファイルのパス> preinstall

注 意 : ERROR_FILE_NOT_FOUND エ ラ ー で イ ン ス ト ー ル に 失 敗 す る 場 合 、 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion

RunOnce キーが存在するが Windows のレジストリを確認してください。INF ファイルを使用して 正しくドライバをインストールするには、Windows Plug-and-Play にはこのレジストリ キーが必要で す。RunOnce キーがない場合、作成して、再度 INF ファイルをインストールしてください。

 Kernel PlugIn ドライバのインストール:

Kernel PlugIn ドライバを作成した場合は、セクション 14.2.3 の手順に従って、ドライバをインストー ルします。

Wdapi1170.dll のインストール:

(サンプルおよび DriverWizard で生成された WinDriver のプロジェクトのように) ハードウェア コン トロール アプリケーション / DLL が wdapi1170.dll を使用する場合、この DLL をターゲット の %windir%\system32 ディレクトリにコピーします。

32 ビット アプリケーション / DLL を 64 ビットのターゲット プラットフォームに配布する場合は、

wdapi1170_32.dll から wdapi1170.dll に名前を変更し、ターゲットの %windir%\

sysWOW64 ディレクトリにコピーします。

注意: 64 ビットのプログラムをインストールする 32 ビットのインストール プログラムを作成し、64 ビッ トの wdapi1170.dll を %windir%\system32 ディレクトリにコピーすると、ファイルは実際に は 32 ビットの %windir%\sysWOW64 ディレクトリにコピーされます。これは、Windows x64 プラッ トフォームでは 64 ビットのディレクトリを参照する 32 ビットのコマンドを、32 ビットのディレクトリを参 照するように変換するためです。これを回避するには、WinDriver\redist ディレクトリにある system64.exe プログラムを使用し、64 ビットのコマンドを使用してインストールを実行します。

 ハードウェア コントロール アプリケーション / DLL のインストール:

ハードウェア コントロール アプリケーション / DLL をターゲットにコピーして、実行します。

14.2.3 ターゲット コンピュータに Kernel PlugIn をインストール

注意: ドライバをターゲット コンピュータにインストールするにはターゲット コンピュータの管理者権限が必要 です。

Kernel PlugIn ドライバを作成した場合、以下の手順に従ってください。

1. Kernel PlugIn ドライバ (<KP ドライバ名>.sys) をターゲット コンピュータの Windows ドライバ ディレク トリにコピーします (%windir%\system32\drivers)。

2. wdreg ユーティリティを使用して、Windows の起動時にデバイス ドライバのリストにKernel PlugIn ドライ バを追加します。次のコマンドを使用します。

SYS Kernel PlugIn ドライバをインストールする場合:

wdreg -name <ドライバ名 (sys 拡張子は付けません)> install

wdreg の実行ファイルは、WinDriver\util ディレクトリにあります。このユーティリティの説明 と使用方法は、第 13 章 を参照してください (特に、セクション 13.2.3 の「Kernel PlugIn のインス トール」を参照してください)。

ドキュメント内 WinDriver v11.70 ユーザーズ ガイド (ページ 142-146)