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



Doc ID: 120
製品: WinDriver
Version:  8.1x

WinDriver ベースのアプリケーションをターゲットの Windows PC へ配布する方法 - WinDriver v8.1x

対象の Windows 98/2000/XP/Server 2003/Server 2008/Vista/7 PC で WinDriver v8.1x で開発したドライバの基本的なインストール手順に関しては、以下の手順を参照してください。より詳細な情報に関しては、WinDriver のユーザー マニュアルの「ドライバの配布」の章を参照してください。

WinDriver v11.9 以降で開発した Windows ドライバの配布方法に関しては、 テクニカル ドキュメント #132 を参照してください。
WinDriver v8.0x で開発した Windows ドライバの配布方法に関しては、 テクニカル ドキュメント #130 を参照してください。


ドキュメント ノート:

  • このドキュメントで記載されている windrvr6.syswindrvr6.inf ファイルは、 開発環境 PC の WinDriver\redist ディレクトリ以下にあります。 wdreg.exe / wdreg_gui.exe / wdreg16.exe および difxapi.dll (v8.11 以降) は、 WinDriver\util ディレクトリ以下にあります (ソース コードは、 WinDriver\samples\wdreg ディレクトリ以下にあります)。

  • wdreg.exewdreg_gui.exe ユーティリティは同じ機能ですが、 インストール メッセージの表示方法が異なります。 wdreg_gui.exe はメッセージ ボックスを表示し、 wdreg.exe はコンソール メッセージを表示します。以下で説明するインストール方法で、 wdreg.exe の記述を wdreg_gui.exe に置き換えて実行できます。
    Windows 98/Mewindrvr6.sys をインストールする際には、 wdreg16.exe ユーティリティを使用してください。

  • WinDriver v8.11 以降では、wdreg ユーティリティは、difxapi.dll DLL に依存します。

Back to Top


インストール ノート:

  • Windows にドライバをインストールする際には、必ず アドミニストレータ権限で実行してください。

  • ドライバの配布時に、新しいバージョンのドライバ windrvr6.sys を 古いバージョンのドライバで上書きしないように注意してください。

  • 以前のバージョンの WinDriver から アップグレード する場合 ( windrvr6.sys ドライバ モジュールを使用する場合 - v6.00 およびそれ以降):

    • Kernel PlugIn ドライバ (e.g. old_kp.sys) を作成した場合、インストールする前に、 以下の手順で古いドライバを削除してください:

      old_kp.sys を削除するには、以下を実行してください:
      \> wdreg -name OLD_KP uninstall

    • windrvr6.sys サービスへのハンドルがオープンしていないことを確認してください。 つまり、このサービスを使用するアプリケーションが起動していないこと、 また INF ファイルで windrvr6.sys と動作するように登録された Plug-and-Play (PCI/USB) デバイスが接続されていないことを確認してください。 そうでなければ、WinDriver と動作するように登録してあるすべてのデバイスをアンインストール (削除) し、 新しいドライバのインストールを完成するには、再試行、キャンセル または PC の再起動を行います。

  • Windows 2000 の場合: Windows 2000 の INF 選択アルゴリズムによると、 Plug-and-Play (PCI/USB) デバイスのドライバ (古い WinDriver のバージョンで開発したドライバ) を更新時に、 \inf ディレクトリから対象のデバイスの古い INF ファイルが存在する場合は、 削除することを推奨します。そうでなければ、古い WinDriver のバージョンが有効になり、 古い INF ファイルがインストールされます [デバイスの vendor および device/product ID を持つ oem*.inf ファイル (例、oem1.inf) を探して、削除します]。 テクニカル ドキュメント #49 を参考にして下さい。

Back to Top


インストール手順:

注意: Windows 98/Me の場合、下記の記述の wdreg.exewdreg16.exe に置き換えてください。

  1. windrvr6.syswindrvr6.inf を同じディレクトリにコピーします。

    注意:
    • wd<version>.cat を他のディレクトリにコピーした場合、windrvr6.inf ファイルの CatalogFile エントリを編集し、カタログ ファイルの場所を指定します。
    • 必ずしも wd<version>.cat カタログ ファイルを配布する必要はありませんが、その場合には、windrvr6.inf ファイルの CatalogFile の行を削除するかコメント アウトする必要があります。ただし、この場合、インストールで、ドライバのデジタル署名の認証を使用しなくなるので、推奨いたしません。

  2. wdreg.exe ユーティリティを使用して、配布先の PC に WinDriver のカーネル モジュールをインストールします:
    \> wdreg -inf <path to windrvr6.inf> install

    メモ: wdreg.exewindrvr6.syswindrvr6.inf を同じディレクトリにコピーした場合、ドライバをインストールする際には、 インストール ディレクトリから単純に以下のコマンドを実行します:
    install_dir:] wdreg -inf windrvr6.inf install

  3. Kernel PlugIn ドライバ (e.g. my_kp.sys) を作成した場合、このドライバを Windows の drivers ディレクトリ %windir%\system32\drivers にコピーし、 wdreg.exe ユーティリティを使用して、ドライバをインストールします:
    \> wdreg -name MY_KP install

    注意: ドライバ名の SYS/VXD 拡張子は外してください。

  4. Windows 98/Me の場合、ドライバのインストールが完了したら、PC を再起動してください。

  5. Plug-and-Play デバイス (PCI/USB) の場合: WinDriver の DriverWizard で作成した対象のデバイスの INF ファイル ( windrvr6.sys サービスと動作するように登録します) をインストールしてください。

    Windows 2000/XP/Server 2003/Server 2008/Vista/7 の場合、 wdreg.exe ユーティティの install コマンドを使用して、INF ファイルを自動的にインストールします:
    \> wdreg -inf <path to device.inf> install

    Windows 98/Me の場合、対象のデバイスの INF ファイルを手動でインストールします。 Windows の "デバイス ドライバのアップグレード" ウィザード (デバイス マネージャから起動) か "新しいハードウェアの検出" ウィザードを使用します。あるいは、INF ファイルを Windows の INF ディレクトリ ( \inf) にコピーして、再起動して、Windows に INF ファイルの場所を検出させてインストールします。

  6. プロジェクトで wdapi<version>.lib ライブラリ (たとえば、 wdapi81x.lib) を使用してる場合 - WinDriver のサンプル プロジェクトおよび DriverWizard で生成されたプロジェクト -、 wdapi DLL を配布する必要があります:

    • 32-ビット アプリケーション/DLL32 ビット ターゲット に配布する場合、 または 64 ビット アプリケーション/DLL64 ビット ターゲット に配布する場合: WinDriver\redist\wdapi<version>.dll (e.g. wdapi81x.dll) をターゲットの %windir%\system32 ディレクトリに コピーしてください。

      注意: 32 ビット インストール プログラム を使用して、 64 ビット DLL%windir%\system32 ディレクトリにコピーする場合、 DLL を実際には、32 ビットの %windir%\sysWOW64 ディレクトリにコピーします。 その理由は、Windows x64 プラットフォームは、32 ビット コマンドから 64 ビット ディレクトリへの参照を 32 ビット ディレクトリへの参照に移行するためです。 64 ビット コマンドを使用して、32 ビット インストール プログラムの必要なインストール手順を実行することによって、 この問題を回避できます。WinDriver Windows x64 バージョンで展開される WinDriver\redist ディレクトリ以下の system64.exe を使用して、実行可能です。

    • 32 ビット アプリケーション64 ビット ターゲット に配布する場合: WinDriver\redist\wdapi<version>_32.dll (たとえば wdapi81x_32.dll) をターゲットの %windir%\sysWOW64 ディレクトリにコピーし、ファイル名を wdapi<version>.dll に変更します。

  7. ドライバ アプリケーション/DLL をターゲットにコピーし、起動します!

Back to Top