0

次の要件があります。2つのフォルダーAとB、ファイルaの場合、Aに存在する場合は、インストールパケットに組み込みます。それ以外の場合は、フォルダーBのファイルaをデフォルトの選択として使用します。これを実装する方法は?助けてください。

4

1 に答える 1

0

この仕事はWiXとビルドエンジンの間で分割する必要があると思います。さらに、責任の大部分はエンジンの構築にあります。

WiXa.txtでは、次の方法で問題のファイルを作成できます(これを呼び出しましょう)(これはComponent要素の子です)。

  <File Id="myfile" KeyPath="yes" Source="$(var.DataFolder)\a.txt" />

それができたら、DataFolder変数の値をcandle.exe(WiXのコンパイラ)に渡す必要があります。これは、コマンドラインまたはプロジェクト設定(* .wixprojを作成する場合)を介して、いくつかの方法で実行できます。たとえば、最初のオプションでそれを実行していて、ビルドエンジンがNAntであるとします。

  <candle out="${out}\\" rebuild="true">
     <defines>
        ...
        <define name="DataFolder" value="${data.folder}" />
        ...
     </defines>
     <sources basedir="${dir}">
        <include name="**.wxs"/>
     </sources>
  </candle>

これは、アイデアを得るための単なるサンプルであることに注意してください。WiXはMSBuildにも対応しています。

ビルドエンジンは、正しいものをピックアップする責任があり${data.folder}ます。この場合、AまたはBのいずれかです。

于 2011-02-15T08:18:07.523 に答える