【问题标题】:Editing file with wix tool使用 wix 工具编辑文件
【发布时间】:2017-08-21 09:41:32
【问题描述】:

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

编译时总是出现这个错误。

严重性代码描述项目文件行抑制状态 错误 ICE30:目标文件“jn9q_isq.con|web.config”由 LFN 系统上的两个不同组件安装在“[TARGETDIR]\inetpub\vTimeEngineAPI\”中:“InstallWebConfigTe”和“cmpA228938071CAE6FF139C38D6724F819B”。这会破坏组件引用计数。 vTimeMainSetup C:\TSVtime\NewTimeAPISetup\Features\vTimeEngineFeature.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>

【问题讨论】:

    标签: .net installation wix windows-installer


    【解决方案1】:

    也许您可以尝试在此答案中找到的建议(只是我发现的第一个有意义的建议):WiX ICE30 error but directory is correct

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

    您是否安装了多个版本的 web.config?如果是这样,也许尝试阅读这个答案(阅读所有答案):How to manage files with same name in Wix?

    【讨论】:

      【解决方案2】:

      我认为您是在说 heat 已经收集了与您手动创建组件相同的文件。

      如果您想修改 heat 生成的创作,您可以传递一个 XSLT(-t 参数)来将 util:XmlFile 元素添加到适当的 Component 元素。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多