wixwindows-installerwix3.5firebreath

Configuring Wix to add dependent dlls for firebreath Plugins


Configured the firebreath generated Wix files to accept additional files but have had no success

   <!-- 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>

Errors: Error 8 error LGHT0204: ICE38: Component test installs to user profile. It must use a registry key under HKCU as its KeyPath, not a file.

I have tried the following but have ended up in errors,

I tried reading various forums and Wix documentation is not of much help. What am I missing?


Solution

  • To resolve the ICE38 you need to add a dummy registry key and set your file's 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>