【发布时间】:2011-04-05 22:16:34
【问题描述】:
我有一个 wix 安装程序,它将安装一个 XML 文件,然后对其进行修改。安装效果很好。今天,我需要在这个 XML 文件中添加几个节点。所以我修改了原始文件,然后在 wix 中添加了一些额外的指令来分配这些项目的值。
好吧,每次我说它找不到节点时都会出错。我查看它在目录中有什么文件,它仍然有没有节点的旧文件。如何告诉它先替换 XML 文件,然后再修改它?我不想使用“CreateElement”,因为如果元素已经存在,我不知道如何不创建它(还没有尝试过,所以也许它会起作用)。此外,我希望我的 XML 文件成为配置的定义。
这是我的 XML 示例:
<Component Id="MyProgExeConfigComponent" Guid="*">
<File
Id="MyProgExeConfig"
Name="MyProg.exe.config"
DiskId="1"
Source="../Published/MyProg/MyProg.exe.config"
PatchWholeFile="yes"
KeyPath="yes"/>
<util:XmlFile
Id="MyProgExeConfigUser"
Action="setValue"
Permanent="yes"
File="[INSTALLLOCATION]\MyProg.exe.config"
ElementPath="/configuration/appSettings/add[\[]@key='UserName'[\]]"
Name="value"
Value="[USER]"/>
<util:XmlFile
Id="MyProgExeConfigPassword"
Action="setValue"
Permanent="yes"
File="[INSTALLLOCATION]\MyProg.exe.config"
ElementPath="/configuration/appSettings/add[\[]@key='Password'[\]]"
Name="value"
Value="[PASSWORD]" />
有什么想法吗?
【问题讨论】: