Feature Requests item #1242410, was opened at 2005-07-21 19:15
Message generated for change (Comment added) made by htfv2
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=642717&aid=1242410&group_id=105970

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
Priority: 5
Submitted By: koffeinkick (koffeinkick)
Assigned to: Nobody/Anonymous (nobody)
Summary: Mechanism for localization of entire components

Initial Comment:

Some components can get quite big and include lots of 
information, such as <Class>, <TypeLib>, <AppId>, 
some registry keys and files.

Assuming that this component has to be localized, a 
product that is be shipped in several languages will have 
several components that each install the same "thing", 
but in a different directory and with a different 
component guid.

In WiX, these components all have to be defined 
separately in their own <Component> declaration, giving 
lots of duplicated information. A (non-localized) change 
in the component then requires it to be changed in all 
these places.

It would be nice to be able to localize things like the 
guid for the component, source path for files, qualifier 
value (for qualified components) maybe even the 
[EMAIL PROTECTED], which directory they should be 
installed to etc. Making the guid attribute localizable is 
perhaps not the best idea, since this would move the 
guid to an entirely different file (.wxl) and thus decrease 
readability.

Maybe some sort of base component tag which 
includes all info shared between the different language 
versions and then a localized component tag that refers 
to the base component?

Something like:

<ComponentTemplate Id="Foo">
    <File ... src="???" />
    <Registry ... value="$(loc.FooBar)" />
    <Class ... />
    <Category Id="..." Qualifier="???" />
</ComponentTemplate>

<DirectoryRef Id="INSTALLDIR1033">
    <Component Id="Foo1033" Guid="..." 
Template="Foo" srcdir="1033" Qualifier="1033" />
</DirectoryRef>



----------------------------------------------------------------------

Comment By: Alexey Logachyov (htfv2)
Date: 2006-03-03 14:26

Message:
Logged In: YES 
user_id=1466594

Try using .wxl files. For example:

<DirectoryRef Id="$(loc.Component.Foo.DirectoryId)">
  <Component Id="$(loc.Component.Foo.Id)" 
Guid="$(loc.Component.Foo.Guid)">
    ...
  </Component>
</DirectoryRef>

And .wxl file goes like this:

<WixLocalization>
  <String Id="Component.Foo.Id">...</String>
  <String Id="Component.Foo.Guid">...</String>
  <String Id="Component.Foo.DirectoryId">...</String>
</WixLocalization>


----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=642717&aid=1242410&group_id=105970


-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
WiX-devs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-devs

Reply via email to