2017-05-03 39 views
0
I am trying to update the web.config file while the installation process using the wix toolset 3.11. I am getting the error that xml node is not found while running the installer. I have tried this with xmlfile as well with xmlconfig with no success. Please help me in resolving this. 

「未能找到節點://配置/的ConnectionStrings /添加[@名稱='mydb的 「]在wb.config xml文件」找不到xml節點威克斯SPATH

下面是XML文件:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <connectionStrings> 
    <add name="MYNAME" connectionString="Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=SOMEDB;Data Source=SOMEHOST" 
providerName="System.Data.SqlClient" /> 
    </connectionStrings> 
</configuration> 

Below is my code 

    <Component Id="cmpWebConfig" Guid="635F6999-89B4-42FF-89AC-9E2A710B42F8"> 
     <File Id="WEBCONFIG" Source="Web.Config" Name="Web.Config" KeyPath="yes"/> 
     <!--<util:XmlConfig Id="setConnString" File="[INSTALLFOLDER]Web.config" Action="create" On="install" Node="value" Name="connectionString" Value="Data Source=[DB_INSTANCE]; Initial Catalog=Customers;Integrated Security=SSPI" ElementPath="//configuration/connectionStrings/add[\[]@name='mydb'[\]]" Sequence="1" />--> 
     <util:XmlFile Id="ModifyConnectionString" 
Action="setValue" 
Permanent="yes" 
ElementPath="//configuration/connectionStrings/add[\[]@name='MYNAME'[\]]" 
Name="connectionString" 
File="[#WEBCONFIG]" 
Value="Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=mydb;Data Source=[SQLHOST]" 
SelectionLanguage="XPath" 
Sequence="1" /> 
     </Component> 
+0

xml文件中沒有。 – Rick

+0

在更新值之後,我也是安裝程序運行時節點不存在的相同錯誤。 –

回答

0

這將你解決你的問題

elementpath之前刪除多餘的斜線

只是複製。並將其粘貼並更改值

<util:XmlFile Id="ModifyConnectionString" 
        Action="setValue" 
        Permanent="yes" 
        ElementPath="/configuration/connectionStrings/add[\[]@name='MigratorDB'[\]]" 
        Name="connectionString" 
        File="[INSTALLFOLDER]web.config" 
        Value='Data Source=[DB_SERVER]; Initial Catalog=[DB_DATABASE]; User Id=[MMDB_USER]; Password=[MMDB_PASSWORD];' 
        SelectionLanguage="XSLPattern" 
        Sequence="1" />