2013-07-09 29 views
1

在我的.wxs文件中,我有以下文件聲明。該文件已存在於安裝目錄中。它不從源目錄複製。我需要在安裝過程中使用util:XmlConfig來更新它。 XmlConfig部分正在工作。在Wix中,如何避免對安裝目錄中已存在的文件的文件源進行硬編碼?

<File Id="AppConfig" Name="Dynamics.exe.config" Source="C:\Program Files (x86)\Microsoft Dynamics\GP2010\Dynamics.exe.config" /> 

問題是我不能假設文件總是存在於同一個位置。我真的想簡單地引用它,像這樣:

<File Id="AppConfig" Name="[#INSTALLDIR]\Dynamics.exe.config" /> 

然而,失敗,出現以下消息:

> light.exe .... 
The system cannot find the file 'SourceDir\....\[#INSTALLDIR]\Dynamics.exe.config' 

我怎麼能說「文件已存在的安裝目錄,使用該文件在安裝過程中,現在不驗證它「?

回答

0

目錄可用括號表示,就好像它們是常規屬性一樣。如果您不需要安裝Dynamics.exe.config但只是XmlConfig元素訪問它,你可以直接引用該目錄,並且不需要與File元素打擾:

<Component Id="Dynamics.exe.config" KeyPath="yes" Guid="*"> 
    <util:XmlConfig Id="Dynamics.exe.config.XmlConfig1" 
        On="install" 
        Action="..." 
        File="[INSTALLDIR]\Dynamics.exe.config" 
        ... 
        /> 
    <util:XmlConfig Id="Dynamics.exe.config.XmlConfig2" 
        On="install" 
        Action="..." 
        File="[INSTALLDIR]\Dynamics.exe.config" 
        ... 
        /> 
</Component> 
相關問題