InstallShield XML文件合并

时间:2014-08-18 06:40:42

标签: windows-installer installshield

我正在使用配置XML文件和我的安装程序,我需要在用户升级我的安装程序时,生成的新配置文件应该与之前的配置文件合并, 所以它应该保存用户对以前的配置文件所做的更改+它还应该显示新的配置文件更改并且所有内容都已合并。

我使用了InstallShield XML文件更改选项,但是当我更改已安装的配置文件中的某些内容并升级软件时,它没有合并内容,而是将新的xml文件添加到了重复的节点。

以下是发生的事情: 原始XML文件:

    <?xml version="1.0"?>
    <configuration>
   <startup useLegacyV2RuntimeActivationPolicy="true"><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>
    </configuration>

用户手动更改useLegacyV2RuntimeActivationPolicy =&#34; false&#34;用户升级软件后,xml变为

 <?xml version="1.0" encoding="UTF-8"?>
         <configuration>
       <startup useLegacyV2RuntimeActivationPolicy="false">
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0">               </supportedRuntime>
</startup>
 <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"></supportedRuntime>
</startup>
</configuration>

所以基本上,它是复制节点而不是合并它,有没有办法使用installShield,我们可以处理XML配置文件Merges。

先谢谢

1 个答案:

答案 0 :(得分:0)

使用InstallShield XML Changes时 - 您可以修改元素(如果存在),但如果元素不存在则不创建。
请参考XPath Expressions文档来做,我想,例3,有适合你。