Hi All,

I have an interest problem that I have not really found the answer to elsewhere.

I have a Wix project that is installing five different satellite assemblies to 
the GAC. The main assembly is also GAC'ed. All the assemblies (including the 
satellite assemblies) are strong-named. I asked around on the .NET groups and 
they indicated that multiple satellite assemblies can be installed to the GAC 
even if the same name because the actual name includes the culture. So 
therefore, strong named satellite assemblies would not conflict.

So, why then would WiX raise the following error:-

error LGHT0204: ICE30: The target file 
'Res_0.dll|Microsoft.MyPhone.Server.SkyTrigger.Resources.dll' is installed in 
'[TARGETDIR]\GlobalAssemblyCache\' by two different components on an LFN 
system: 'SkyTriggerServer.0.Resources' and 'SkyTriggerServer.1.Resources'. This 
breaks component reference counting.

I initially tried a solution that involved installing each resource assembly to 
a sub-directory named after the target locale. But that doesn't work for the 
GAC; only for application installation directory. Here is how the WiX fragment 
looks like:-

    <DirectoryRef Id='GlobalAssemblyCache'>
      <Component Id='SkyTriggerServer.0.Resources' 
Guid='e0d9f93c-7e92-4f4e-b216-57ca9a6e2200' Win64='$(var.is64bit)'>
        <File Id='Microsoft.MyPhone.Server.SkyTrigger.0.dll' DiskId='1' 
ShortName='Res_0.dll' Name='Microsoft.MyPhone.Server.SkyTrigger.Resources.dll'
              
Source='c:\source\wpsazure\Release\debug\amd64\MyPhone\Locales\lba\de\Skybox\locstudio.target\Microsoft.MyPhone.Server.SkyTrigger.Resources.dll'
 KeyPath='yes' Assembly='.net' Vital="yes" />
      </Component>
      <Component Id='SkyTriggerServer.1.Resources' 
Guid='e0d9f93c-7e92-4f4e-b216-57ca9a6e2201' Win64='$(var.is64bit)'>
        <File Id='Microsoft.MyPhone.Server.SkyTrigger.1.dll' DiskId='1' 
ShortName='Res_1.dll' Name='Microsoft.MyPhone.Server.SkyTrigger.Resources.dll'
              
Source='c:\source\wpsazure\Release\debug\amd64\MyPhone\Locales\lba\en\Skybox\locstudio.target\Microsoft.MyPhone.Server.SkyTrigger.Resources.dll'
 KeyPath='yes' Assembly='.net' Vital="yes" />
      </Component>
      <Component Id='SkyTriggerServer.2.Resources' 
Guid='e0d9f93c-7e92-4f4e-b216-57ca9a6e2202' Win64='$(var.is64bit)'>
        <File Id='Microsoft.MyPhone.Server.SkyTrigger.2.dll' DiskId='1' 
ShortName='Res_2.dll' Name='Microsoft.MyPhone.Server.SkyTrigger.Resources.dll'
  
Source='c:\source\wpsazure\Release\debug\amd64\MyPhone\Locales\lba\es\Skybox\locstudio.target\Microsoft.MyPhone.Server.SkyTrigger.Resources.dll'
 KeyPath='yes' Assembly='.net' Vital="yes" />
      </Component>
      <Component Id='SkyTriggerServer.3.Resources' 
Guid='e0d9f93c-7e92-4f4e-b216-57ca9a6e2203' Win64='$(var.is64bit)'>
        <File Id='Microsoft.MyPhone.Server.SkyTrigger.3.dll' DiskId='1' 
ShortName='Res_3.dll' Name='Microsoft.MyPhone.Server.SkyTrigger.Resources.dll'
              
Source='c:\source\wpsazure\Release\debug\amd64\MyPhone\Locales\lba\fr\Skybox\locstudio.target\Microsoft.MyPhone.Server.SkyTrigger.Resources.dll'
 KeyPath='yes' Assembly='.net' Vital="yes" />
      </Component>
      <Component Id='SkyTriggerServer.4.Resources' 
Guid='e0d9f93c-7e92-4f4e-b216-57ca9a6e2204' Win64='$(var.is64bit)'>
        <File Id='Microsoft.MyPhone.Server.SkyTrigger.4.dll' DiskId='1' 
ShortName='Res_4.dll' Name='Microsoft.MyPhone.Server.SkyTrigger.Resources.dll'
              
Source='c:\source\wpsazure\Release\debug\amd64\MyPhone\Locales\lba\it\Skybox\locstudio.target\Microsoft.MyPhone.Server.SkyTrigger.Resources.dll'
 KeyPath='yes' Assembly='.net' Vital="yes" />
      </Component>
      <Component Id='SkyTriggerServer.5.Resources' 
Guid='e0d9f93c-7e92-4f4e-b216-57ca9a6e2205' Win64='$(var.is64bit)'>
        <File Id='Microsoft.MyPhone.Server.SkyTrigger.5.dll' DiskId='1' 
ShortName='Res_5.dll' Name='Microsoft.MyPhone.Server.SkyTrigger.Resources.dll'
  
Source='c:\source\wpsazure\Release\debug\amd64\MyPhone\Locales\lba\ja-ploc-jp\Skybox\locstudio.target\Microsoft.MyPhone.Server.SkyTrigger.Resources.dll'
 KeyPath='yes' Assembly='.net'
              Vital="yes" />
      </Component>
    </DirectoryRef>

Any guidance is appreciated.

Thanks,

Vijai Kalyan<sip:vkal...@microsoft.com>

------------------------------------------------------------------------------
This SF.net email is sponsored by 

Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev 
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to