.net 用wix工具编辑文件

.net 用wix工具编辑文件,.net,installation,wix,windows-installer,.net,Installation,Wix,Windows Installer,我想用WiX工具集创建一个安装文件。 为此,我在一个目录上使用Heat工具生成一个解决方案。当我想从该解决方案中编辑web.config文件时,问题就出现了 我在编译时总是遇到这个错误 严重性代码说明项目文件行抑制状态 错误ICE30:目标文件“jn9q_isq.con | web.config”由LFN系统上的两个不同组件安装在“[TARGETDIR]\inetpub\vTimeEngineAPI\”中:“InstallWebConfigTe”和“cmpA228938071CAE6FF139C

我想用WiX工具集创建一个安装文件。 为此,我在一个目录上使用Heat工具生成一个解决方案。当我想从该解决方案中编辑web.config文件时,问题就出现了

我在编译时总是遇到这个错误

严重性代码说明项目文件行抑制状态 错误ICE30:目标文件“jn9q_isq.con | web.config”由LFN系统上的两个不同组件安装在“[TARGETDIR]\inetpub\vTimeEngineAPI\”中:“InstallWebConfigTe”和“cmpA228938071CAE6FF139C38D6724F819B”。这将中断组件引用计数。VTIMEMAIN安装程序C:\TSVtime\NewTimeAPISetup\Features\VTIMEEngeFeature.wxs 40

这是我获取和编辑文件的代码:

<ComponentGroupRef Id="File.Generated"/>
  <Component Id="InstallWebConfigTe" Guid="*">
    <File Id="WebConfigTe" Name="web.config" Source="SourceDir\Web.config" Vital="yes" KeyPath="yes" />
    <util:XmlFile Id="WebConfigSetDbTypeTe" Action="setValue" Permanent="yes" File="[#WebConfigTe]"
                  ElementPath="/configuration/Configuration/Database/add[\[]@key='ServerKind'[\]]" Name="value" Value="[DATABASE_TYPE]" />
  </Component>

也许你可以试试这个答案中的建议(这是我发现的第一个有意义的建议):

您的WiX源代码摘录太小,无法判断这是否是问题所在。只需在Orca中打开已编译的MSI,验证目录表中是否存在此问题


您是否有可能安装多个版本的web.config?如果是这样的话,也许可以试着阅读这个答案(阅读所有答案):

我想你是说heat收集到的文件与你手动为其创建组件的文件相同

如果要修改heat生成的创作,可以向其传递一个XSLT(-t参数),将util:XmlFile元素添加到相应的组件元素中

或者,您可以让XSLT删除该组件并保留手动创建的组件。(如果生成的创作包含组件的ComponentRef,则这可能会更困难。)