0

将 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 文档并没有多大帮助。我错过了什么?

4

1 回答 1

3

要解决 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>
于 2012-04-22T02:44:25.550 回答