【问题标题】:Configuring Wix to add dependent dlls for firebreath Plugins配置 Wix 为 firebreath 插件添加依赖 dll
【发布时间】:2012-04-22 01:58:44
【问题描述】:

将 firebreath 生成的 Wix 文件配置为接受其他文件,但没有成功

   <!-- Put Additional files here: -->
  <!-- example:-->
   <Component Id="test" Guid="{104ca7b7-f654-481f9f6a-9a5b5a39c93b}">
        <File Id="test" KeyPath="yes" Source="C:\location\test.dll" />
    </Component>


    <Feature Id="MainPluginFeature" Title="${FBSTRING_ProductName}" Level="1">
      <ComponentRef Id="InstallDirComp"/>
      <ComponentRef Id="PluginNameDirComp"/>
      <ComponentRef Id="CompanyDirComp"/>
      <ComponentGroupRef Id="PluginDLLGroup"/>          
      <ComponentRef Id="test"/>
    </Feature>

错误:错误 8 错误 LGHT0204:ICE38:组件测试安装到用户 轮廓。它必须使用 HKCU 下的注册表项作为其 KeyPath,而不是 文件。

我尝试了以下方法,但最终出现错误,

  • 将 GUID 改回 *
  • 将 directory=INSTALLDIR 添加到组件中
  • 将组件移出目录

我尝试阅读各种论坛,但 Wix 文档没有多大帮助。我错过了什么?

【问题讨论】:

    标签: wix windows-installer wix3.5 firebreath


    【解决方案1】:

    要解决 ICE38,您需要添加一个虚拟注册表项并设置文件的 KeyPath="no"

    <Component Id="test" Guid="{104ca7b7-f654-481f9f6a-9a5b5a39c93b}">
       <File Id="test" KeyPath="no" Source="C:\location\test.dll" />
       <Registry Root=”HKCU” KeyPath=”yes” … />
    </Component>
    

    【讨论】:

    • 错误 CNDL0010:未找到 Registry/@Key 属性;这是必需的。
    • "dummy" 注册表项似乎表明我不必实际定义键
    • 我的意思是虚拟键意味着“创建任何不重要的键”。如果不需要,我不会提到它。 需要填写Registry的“...”部分我不知道你的WiX脚本的其余部分,因为你没有发布它。在上面的脚本中应该还有其他 Firebreath 生成的组件,其中包含您可以作为示例引用的 Registry 元素。
    猜你喜欢
    • 2018-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-13
    • 1970-01-01
    • 1970-01-01
    • 2016-10-08
    • 2016-06-09
    相关资源
    最近更新 更多