2016-12-07 1 views
0

Ich versuche, eine Datei zum Installer so in meiner Haupt-wxs-Datei hinzuzufügen.Datei zum Wix-Installer hinzufügen, wenn es existiert

<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> 

ich vorbei file_exists durch candle.exe mit der Option -d

Aber nicht zeigt Wirkung. Es wird nicht hinzugefügt. Es funktioniert, wenn ich nicht die Bedingungen habe (nur das File-Element). Irgendwelche Ideen?

+0

Ich versuche, dies zu tun, da die Datei nur in einigen Zweigen besteht und alle Zweige verwenden das gleiche Installationsskript. – krosty

Antwort

0

Soweit ich verstehe, ist die Bedingung, über die Sie sprechen, eine Build-Time-Bedingung. Grundsätzlich möchten Sie steuern, ob die betreffende Datei in das MSI-Paket gelangt. Wenn das stimmt, dann ist ein Fehler das <Condition> Element unter <Component>. Das ist die Installationszeit und beeinflusst nur, dass die Datei installiert ist.

Der andere ist ein reines Syntaxproblem. Die <?if?> Direktive muss das schließende Element haben.

Unter den oben in Betracht, könnte Ihr Snippet wie folgt aussehen:

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

Vielen Dank Yan. Das Extrazustandselement war es. Nahm das heraus und es hat funktioniert !! – krosty

+0

Gut zu wissen, dass es geholfen hat! Vergiss nicht, die hilfreiche Antwort oben zu akzeptieren ;-) –

Verwandte Themen