2016-04-15 28 views
0

Ich werde Setup für mein Webprojekt erstellen. Ich benutze http://blog.bartdemeyer.be/2013/10/create-an-installer-for-website-with-wix-part-1/ als meine Referenz. In der Mitte des Artikels erstellen Autor eine Datei WebSiteContent.wxs mit heat.exe genannt:Wie referenzieren Dateielement in wxs Datei generiert von heat.exe in Wix

<Target Name="Harvest"> 
<!-- Harvest all content of published result --> 
<Exec 
    Command='$(WixPath)heat dir $(Publish) -dr INSTALLFOLDER -ke -srd -cg MyWebWebComponents -var var.publishDir -gg -out $(WebSiteContentCode)' 
    ContinueOnError="false" 
    WorkingDirectory="." /> 
</Target> 

Nach Tagrunnig msbuild, Datei conitains folgenden Inhalt:

<?xml version="1.0" encoding="utf-8"?> 
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 
    <!--...--> 
    <Fragment> 
    <ComponentGroup Id="MyWebWebComponents"> 
     <!--...--> 
     <Component Id="cmpCDB7F4EFDEF1E65C3B12BEBAD7E4D7EA" Directory="INSTALLFOLDER" Guid="{7EA5DB39-513D-482B-9FDC-2F16FCE5E712}"> 
     <File Id="fil8994620207C22CA15AF75ACDD6420C79" KeyPath="yes" Source="$(var.publishDir)\Web.config" /> 
     </Component> 
    </ComponentGroup> 
    <!--...--> 
    </Fragment> 
</Wix> 

Ich mag Wert von web.config-Datei ändern Inhalt wie in Change XML node values from WiX beschrieben, aber ich weiß nicht, wie Sie Verweis außerhalb der WebSiteContent.wxs-Datei zu fil8994620207C22CA15AF75ACDD6420C79 Element hinzufügen.

Ich weiß, ich kann XML-Skript zu WebSiteContent.wxs Datei hinzufügen. Aber da in jedem Build es gereinigt wird, möchte ich WebSiteContent.wxs Datei in jedem Build nicht ändern.

Antwort

2

Verwenden Sie die Datei-ID mit dem Präfix # in einer Eigenschaft, wie in dem Beispiel gezeigt, auf das Sie verwiesen haben. Durch Hitze erzeugte Datei-IDs sind stabil in Bezug auf ihre Standortspezifikation.

Wenn dies es unlesbar macht, können Sie Hitze und XSL geben, um die Datei-ID auf einen festen Wert zu ändern.

+0

Danke für Ihre Hilfe. Können Sie mir helfen, wie ich es zur Product.wxs Datei hinzufügen kann? In welchem ​​Tag? –

+0

@ TomBlodget können Sie ein Beispiel dafür geben, weil dies scheint, ungültige Syntax zu sein. Ich habe etwas verwendet wie ** Ultratrunks

+0

@SeyedMortezaMousavi @Ultratrunks Er meinte, Sie können den ** Dateipfad ** mit dem Tag '[# fil8994620207C22CA15AF75ACDD6420C79]' abrufen. Siehe [#filekey] (https://msdn.microsoft.com/en-us/library/windows/desktop/aa368609.aspx). –