2016-12-07 7 views
0

私のメインのwxsファイルにこのようにインストーラにファイルを追加しようとしています。存在する場合はWixインストーラにファイルを追加してください

<ComponentGroup Id="Files" Directory="Bin"> 
     <?if $(var.FILE_EXISTS) = "true"?> 
      <Component> 
       <Condition>$(var.FILE_EXISTS) = "true"</Condition> 
       <File Source="$(var.SourceDir)/file.txt"/> 
      </Component> 
    </ComponentGroup> 

私は、-dオプション

しかし、その服用していない効果でcandle.exeてFILE_EXISTSを渡しています。それは追加されません。条件がないときに機能します(File要素のみ)。何か案は?

+0

ファイルは、いくつかの支店でのみ存在し、すべてのブランチが同じインストーラスクリプトを使用するので、私はこれをやろうとしています。 – krosty

答えて

0

私が理解する限り、あなたが話している条件は構築時条件です。基本的には、問題のファイルがMSIパッケージに含まれるかどうかを制御したいと考えています。

これが間違っている場合は、<Condition>という要素が<Component>にあります。これはインストール時の条件で、ファイルの影響のみがインストールされます。

もう1つは構文上の問題です。 <?if?>ディレクティブには、終了要素が必要です。上記のアカウントにを取る

、スニペットは次のようになります。

<ComponentGroup Id="Files" Directory="Bin"> 
    <?if $(var.FILE_EXISTS) = "true"?> 
    <Component> 
    <File Source="$(var.SourceDir)/file.txt"/> 
    </Component> 
    <?endif?> 
</ComponentGroup> 
+0

ありがとうヤン。余分な条件要素はそれでした。それを取り出して、それは働いた! – krosty

+0

それが助けになることを知ってよかった!上記の有益な回答を受け入れることを忘れないでください;-) –

関連する問題