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

Windows の場合

ドキュメント内 WinDriver V9.0 ユーザーズ ガイド (ページ 143-147)

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

14.2 Windows の場合

注意:

z Windows 2000 / XP / Server 2003 / Vista の場合、この章の説明の “wdreg” と記述している個所を

“wdreg_gui” に置き換えることができます。同じ機能ですが、コンソール モード メッセージの代わり に GUI メッセージが表示されます。

z Windows 98 / Me の場合、この章の説明の “wdreg” と記述している個所を “wdreg16” に置き換えて

ください。詳細は、wdreg ユーティリティの説明、第 13 章を参照してください。

z WinDriver のインストール ディレクトリには、redist\ と redist_win98_compat\ の二つの配布

ディレクトリが含まれます。

… WinDriver\redist ディレクトリには、Windows 2000 / XP / Server 2003 / Vista 用の署名入り の WHQL 互換の windrvr6.sys ドライバと関連 INF およびカタログ ファイルが含まれます。

… WinDriver\redist_win98_compat ディレクトリには、Windows 98 / Me / 2000 / XP / Server 2003 / Vista 用の署名なしの windrvr6.sys ドライバと関連 INF が含まれま す。

Windows 98 / Me にドライバを配布する際には、このドキュメントの WinDriver\redist の記述 を WinDriver\redist_win98_compat に置き換えてください。Windows 2000 / XP / Server 2003 / Vista 用にもこのディレクトリのファイルを使用することもできますが、これらのプ ラットフォームには、WinDriver\redist ディレクトリ以下のファイルを使用することを推奨いたしま す。

z Windows 2000 / XP / Server 2003 / Vista で WinDriver のカーネルモジュール

(windrvr6.sys) の名前を変更する場合、windrvr6 に関連する参照を対象のドライバ名に置き

換え、WinDriver\redist ディレクトリへの参照を変更したインストールファイルを含むディレクトリ

のパスに置き換えてください。たとえば、DriverWizard で生成したドライバプロジェクトに名前を変更し たドライバ ファイルを使用する場合、WinDriver\redist への参照を生成された

xxx_installation\redist ディレクトリに置き換えてください (xxx は生成されたドライバ プロ ジェクトの名前です) 。DriverWizard を使用して変更したドライバファイルを使用する場合、

windrvr6.inf ファイルに相当するファイルの名前を xxx_driver.inf に変更します。さらに、

wd900.cat ファイルへの参照を対象のドライバ用の新しいカタログ ファイルに置き換えるか、もしく は、カタログ ファイルの配布を行わないようにします。

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

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

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

14.2.1 配布パッケージの用意

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

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

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

z wd900.cad (Windows 2000 / XP / Server 2003 / Vista。WinDriver\redist ディレクトリにあり ます)

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

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

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

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

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

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

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

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

○ システムの再起動を防ぐには、windrvr6.sys サービスへのハンドルを開いていないことを ドライバのインストール前に確認します。この手順で、このサービスを使用しているアプリケー ションがない、および windrvr6.sys と動作するように登録されている PCI / USB デバイス への接続がないことを確認します。つまり、この時点で、PC に接続してる PCI / USB デバイス で、このドライバと動作するようにインストールされた INF ファイル はなく、またはファイルは インストールされているが、デバイスは無効です。たとえば、古い WinDriver のバージョンで 開発したドライバをアップグレードする際に、この処理が必要になります (バージョン 6.0 以降 では、以前のバージョンで使用していたモジュール名が異なります)。

このため、デバイスマネージャから WinDriver と動作するように登録されたすべての PCI / USB ドライバを無効またはアンインストールするか (Win 98 / Me では、[プロパティ] – [アン インストール] または [削除])、もしくは PC からデバイスを切断します。この処理をしない場 合、wdreg を使用している新しいドライバのインストールを試みると、WinDriver で動作する ように登録されているすべてのデバイスをアンインストールするか、あるいはインストールコ マンドを正常に実行するために PC を再起動するようにと言うメッセージが表示されます。

○ Windows 2000 の場合、デバイス用に作成した新しい INF ファイルをインストールする前に、

古いバージョンの WinDriver で開発され、Plug-and-Play 用にインストールされている INF ファイルをすべて、%windir%inf から削除します。これにより、Windows が自動的に古い ファイルを検出し、インストールするのを回避します。INF ディレクトリで、デバイスのベンダー ID とデバイス / プロダクト ID でデバイスの関連ファイルを検索することもできます。

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

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

注意: wd900.cat には、Windows 2000 / XP / Server 2003 / Vista 用のドライバ認証のデジ タル署名が含まれます。インストール中に他のディレクトリにこのファイルを配置する場合に は、windrvr6.inf ファイルの以下の行を編集して、選択したカタログ ファイルの場所を指 定します:

CatalogFile = wd900.cat

INF ファイルのこの行をコメントアウトまたは削除して、カタログファイルを配布しないことも可 能ですが、この場合、インストールではドライバのデジタル署名を使用しないので、推奨いた しません。

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

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

Windows 2000 / XP / Server 2003 / Vista では、コマンドラインから以下のように入力します。

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

Windows 98 / Me では、コマンド ラインから以下のように入力します。

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

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

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

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

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

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

注意: ドライバの配布時に、新しいバージョンの windrvr6.sys を Windows ドライバディレ

クトリ (%windir%\system32\driver) の古いバージョンのファイルで上書きしないように

ご注意ください。インストールプログラムまたは INF ファイルでインストーラが自動的にタイム スタンプを比較して新しいバージョンを古いバージョンで上書きしないように設定することを推 奨いたします。

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

① Windows 2000 / XP / Server 2003 / Vista: wdreg ユーティリティを使用して、自動的に INF ファイルをロードします。

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

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

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

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

注意: Windows 2000 では、対象のデバイスの INF ファイルを以前にインストールした場合

(WinDriver の以前のバージョンで使用した Plug and Play で動作するようにデバイスを登

録)、作成した新しい INF ファイルをインストールする前に %windir%\inf ディレクトリから デバイスの INF ファイルをすべて削除します。このプロセスで、Windows が自動的に使用し ていないファイルを検出したりインストールしたりするのを防ぎます。INF ディレクトリで、デバ イスのベンダー ID とデバイス / プロダクト ID でデバイスの関連ファイルを検索することもでき ます。

② Windows 98 / Me: 下記のセクション 15.1 を参考に、Windows の [新しいハードウェアの追加

ウィザード] または [デバイス ドライバの更新ウィザード] を使用して、手動で INF ファイルを インストールします。

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

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

z Wdapi900.dll のインストール:

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

の %windir%\system32 ディレクトリにコピーします。

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

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

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

ドキュメント内 WinDriver V9.0 ユーザーズ ガイド (ページ 143-147)