15

この質問は、次の重複と見なすことができます。

.inf ベースのドライバーを展開するにはどうすればよいですか?

別のプログラムではなく、インストーラーで完全に実行したいことを除いて。

ここでダウンロード可能な例があるはずです: http://msdn.microsoft.com/en-us/library/dd163212.aspx

しかし、そのページにはダウンロード リンクがありません。

ドライバーの構造は非常に単純で、inf と sys だけです。私はこれを試しました:

  <Directory Id='SystemFolder' Name='System32'>
    <Directory Id='DriversFolder' Name='Drivers'/>
  </Directory>

...

<DirectoryRef Id="DriversFolder">
  <Driver Id="cyusb" Guid="*">
    <File Id="cyusb.inf" Source="..\Includes\cyusb.inf" />
  </Driver>
  <Driver Id="cyusb_sys" Guid="*">
    <File Id="cyusb.sys" Source="..\Includes\cyusb.sys" />
  </Driver>
</DirectoryRef>

「wixdifxappextension.dll」と difxapp_x86 の両方がプロジェクトへの参照として含まれており、「driver」タグが認識されません。「ドライバー」の代わりに「コンポーネント」を使用すると、結果のファイルは実際にはドライバーとして認識されず、手動でインストールする必要があります。

ここで何が間違っていますか?または、このインストーラーを機能させるには、さらに別のプログラムを作成する必要がありますか? これは Wix 3.0 にあります。

4

2 に答える 2

12

マニュアルによると、 の<Driver><Component>にある必要があり、Wix は次のようになります。

<DirectoryRef Id="DriversFolder" FileSource="..\Includes\">
  <Component Id="MyDriver" Guid="[PUT GUID]">
    <Driver Legacy='yes' />
    <File Id="cyusb.inf" Vital="yes" />
    <File Id="cyusb.sys" Vital="yes" />
  </Component>
</DirectoryRef>

この男のブログからの詳細情報

于 2009-08-03T20:10:17.577 に答える
3

私も同じ問題を抱えていました。以下は私のために働いた。

プロジェクトに追加された 2 つの参照:

  • WixDifxAppExtension
  • difxapp_x64.wixlib

Wix.wxs ファイルのノード内に、次の属性を追加しました。

xmlns:difxapp='http://schemas.microsoft.com/wix/DifxAppExtension'

difxapp名前空間を参照して使用する必要があるようです。

ファイルComponentを含む内に、次を追加しました。.inf

<difxapp:Driver PlugAndPlayPrompt="no"/>
于 2019-12-19T11:18:23.093 に答える