2015-05-13 56 views
1

我想在安裝過程中將值寫入XML文件,此值來自用戶在安裝階段填充它的文本字段。 在對安裝,我有以下EditField中我的GUI文件:Wix-無法使用屬性名稱作爲值時寫入XML文件

<Control Id="LogEdit" Type="Edit" X="45" Y="155" Width="100" Height="18" Property="LOGVALUE" Text="{80}" /> 

在我Product.WXS我添加了一個新的屬性如下圖所示:

<Property Id="LOGVALUE" Secure="yes"/> 
    <SetProperty Id="LOGVALUE" Value="" After="AppSearch">LogValue</SetProperty> 

然後我創建了一個新的組件像下面這樣:

<Component Id="LogComponent" 
    Guid="87F682A6-1CC0-4E2D-9882-25D765478F94" Directory='ContentDir' NeverOverwrite='yes' Permanent='yes'> 
    <File Id="Logconfig" 
     DiskId="1" 
     Name="log.xml" 
     Source="..\bin\log.xml" 
     Vital="yes" 
     KeyPath="yes" /> 

    <util:XmlFile Id="SetKey3" 
       Action="setValue" 
       ElementPath="/log/appender[\[]@type='log4net.Appender.RollingFileAppender'[\]]/file/@value" 
       Value="[LOGVALUE]" 
       File="[#Logconfig]" 
       SelectionLanguage="XPath" 
       Sequence="1" /> 

</Component> 

我也加入了這個組件的參考。 問題是安裝後什麼都不會被寫進XML文件,然而如果我更換值=「[LOGVALUE]」與像值=「TEST」在UTIL一些硬編碼值:XMLFILE部分它的工作原理。任何錯誤來自哪裏?

回答

1

您在下面的setproperty中將LOGVALUE的值設置爲「」我相信通過將該值設置爲無,將其設置爲「[LOGVALUE]」或者根本不將它設置爲UI在設置屬性值

<SetProperty Id="LOGVALUE" Value="" After="AppSearch">LogValue</SetProperty> 
+0

它與感謝:)令人驚訝的是,我同Product.WXS內以書面形式向另一個XML文件,我爲字段的值設置爲「」,它工作正常但這一個它不工作,除非我設置值=「[LOGVALUE]」。 – Benjamin