簡単な ドライバインストーラー DPINST.EXE の使い方

Microsoft は Vista リリース時に デバイスドライバのインストーラーの開発キットを公開しました。
その一つが、 DPINST なのですが、結構簡単にデバイスドライバのインストーラーが作成できるので紹介しましょう。

サンプルがWINDDKの src\setup\DPInst に
再配布可能な実行ファイルが redist\DIFx\dpinst\MultiLin に入っています。

サンプルのあるフォルダに ドライバの infファイルと dpinst.exe をコピーしてやればインストーラーのテストをすることが可能です。

inf ファイルが 32/64bit 両対応であっても、64bit版デバイスドライバのインストールを行う場合は、amd64 フォルダの dpinst.exe を利用する必要がありますので、 dpinst64.exe とでもリネームして使うといいかもしれません。

インストーラーの設定は dpinst.xmlをいじる必要があります。日本語で利用する場合は、いったん UTF-8で保存しなおしてください。

<?xml version="1.0"?>
<dpInst>
    <language code="0x0411">
        <dpinstTitle>もふもふドライバーインストーラー</dpinstTitle>
    
        <welcomeTitle>もふもふ ドライバのインストール</welcomeTitle>
        <welcomeIntro>このウィザードはPCに もふもふ のハードウェアドライバをインストールします。</welcomeIntro>
<!--    

エンドユーザーライセンス使わない場合は削除する

        <eulaHeaderTitle>エンドユーザーライセンス同意書</eulaHeaderTitle>
        <eulaYesButton>エンドユーザーライセンスに同意する(&amp;A)</eulaYesButton>
        <eulaNoButton>エンドユーザーライセンスに同意しない(&amp;D)</eulaNoButton>
        <eula type="txt" path="eula.txt" />
-->
        <installHeaderTitle>PCにデバイスドライバーをインストールしています…</installHeaderTitle>

        <finishTitle>もふもふドライバのインストールを完了しました。</finishTitle>
        <finishText>もふもふ が利用できます</finishText>
    </language>

    <language code="0x0409">
        <dpinstTitle>MofMof Driver Installer</dpinstTitle>
    
        <welcomeTitle>MofMof Driver Installation</welcomeTitle>
        <welcomeIntro>This wizard installs MofMof hardware driver to this PC.</welcomeIntro>
        <installHeaderTitle>Installing device driver to this PC now ...</installHeaderTitle>

        <finishTitle>MofMof driver installed</finishTitle>
        <finishText>MofMof available</finishText>

    </language>

    <icon>MOFMOF.ico</icon>
    <watermarkPath>MOFUMOFU.bmp</watermarkPath>
    <deleteBinaries>ON</deleteBinaries> <!-- /d でアンインストールするときに設定 -->
    <LegacyMode>ON</LegacyMode><!-- 署名が無いドライバの場合 -->
    <ScanHardware>ON</ScanHardware><!-- ハードウェアのスキャンをする -->
</dpInst>

対応OSの言語ごとに language code を設定しないといけないのがちょっと面倒ですね

watermarkPath にあるBMPファイルがインストール時に左側に表示されるので差し替えます。

Setting DPInst Configuration Flags (Windows Drivers)
詳しい設定

ちなみに、Windows 2000 対応にするためには、6001.18002 以前のバージョンの WINDDKを使わないといけません。 もし、7600.16385.1 などの新しいバージョンの DPINST.EXE を使ってるせいでインストールできないならば、古いバージョンに置き換えてやると行けます ・ω・!(ただし、INFのセクションも Windows 2000対応じゃないとダメですが)

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です