|
|
| 1 2 3 |
|
Markus KARG
|
Hello Everybody,
I am new to both, MSI technology in general and the WiX product in particular, but I have some experience with some old InstallShield products (pre-MSI-age). InstallShield allowed me to simply add translated strings for lots of languages, so one single setup.exe contained the installer in multi languages. This was very smart since I was able to send the same setup.exe to any country of the world. Now I want to write an installer with WiX that is also multi language (I don't want to have lots of setup.msi files, but only a single one). I wrote several .wxl files and linked them together using a line like this one: light.exe -cultures:de,neutral;fr,neutral;en,neutral;neutral -loc de.wxl -loc fr.wxl -loc en.wxl -loc neutral.wxl Setup.wixobj (While actually told nowhere, it seems that neutral.wxl must contain ' .culture="". ' [i. e. empty string] to indicate that it is the neutral culture. I found out that by trial and error when adding the neutral fallback to each culture). What I expect to get from light.exe is one single .msi file containing all four language packs: German, French, English and Neutral. Light provides a single .msi so "from the outside" it seems to work. My target is that the Windows Installer at install time picks German, French or English strings automatically, depending on the user's current "Region and Language Settings" or instead picks neutral strings when the current user's local setting is neither German, French nor English (for example, "Polish" / "Poland"). While light v3 accepts the above line and does not complain in any way (not even ICE warnings), the Windows Installer picks Germany *always* when running the resulting .msi file on my laptop -- despite the current setting of "Polish" / "Poland" in the "Region and Language Settings" control panel. :-( Can anybody tell me what my fault is? Thanks Markus ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ WiX-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/wix-users |
||||||||||||||||
|
Blair-2
|
You get German since that is the first one in your list of Cultures.
MSI has never officially supported the scenario you describe directly. You are perfectly free to create per-language transforms and use an .EXE file to install your MSI with those transforms (the supported way). There are some who have had success with embedding those same transforms based on a particular naming convention and having them auto-selected by the OS (not supported, but I'm told it works). There may or may not be issues with generating working MSP files if you use those transforms (you may have to mess with the transform applicability rules of the patch-supplied transforms depending on what the original language transforms did). You may be able to use the instance transform related tags in WiX, but I have never tried that so I don't know what gotchas you may find that way. Otherwise you may be able to link each language separately into .wixout files, generate your transforms from those, and bind the "baseline" wixout into the MSI you subsequently apply each MST to. -----Original Message----- From: Markus KARG [mailto:[hidden email]] Sent: Tuesday, October 20, 2009 12:06 PM To: [hidden email] Subject: [WiX-users] Beginner's Question on Multi Language Installer Hello Everybody, I am new to both, MSI technology in general and the WiX product in particular, but I have some experience with some old InstallShield products (pre-MSI-age). InstallShield allowed me to simply add translated strings for lots of languages, so one single setup.exe contained the installer in multi languages. This was very smart since I was able to send the same setup.exe to any country of the world. Now I want to write an installer with WiX that is also multi language (I don't want to have lots of setup.msi files, but only a single one). I wrote several .wxl files and linked them together using a line like this one: light.exe -cultures:de,neutral;fr,neutral;en,neutral;neutral -loc de.wxl -loc fr.wxl -loc en.wxl -loc neutral.wxl Setup.wixobj (While actually told nowhere, it seems that neutral.wxl must contain ' .culture="". ' [i. e. empty string] to indicate that it is the neutral culture. I found out that by trial and error when adding the neutral fallback to each culture). What I expect to get from light.exe is one single .msi file containing all four language packs: German, French, English and Neutral. Light provides a single .msi so "from the outside" it seems to work. My target is that the Windows Installer at install time picks German, French or English strings automatically, depending on the user's current "Region and Language Settings" or instead picks neutral strings when the current user's local setting is neither German, French nor English (for example, "Polish" / "Poland"). While light v3 accepts the above line and does not complain in any way (not even ICE warnings), the Windows Installer picks Germany *always* when running the resulting .msi file on my laptop -- despite the current setting of "Polish" / "Poland" in the "Region and Language Settings" control panel. :-( Can anybody tell me what my fault is? Thanks Markus ---------------------------------------------------------------------------- -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ WiX-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ WiX-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/wix-users |
||||||||||||||||
|
Markus KARG
|
Blair,
thank you for your kind help. To sum up, multi-language support actually (or: "officially") is not possible with a single .msi (or at least, not without either patching or transforming it before installation). What I do not understand under this circumstances is: Why can I add a LIST of cultures to light.exe? I mean, what does it actually do with all the cultures if actually always taking just the first in the list? Thanks Markus > -----Original Message----- > From: Blair [mailto:[hidden email]] > Sent: Dienstag, 20. Oktober 2009 21:53 > To: 'General discussion for Windows Installer XML toolset.' > Subject: Re: [WiX-users] Beginner's Question on Multi Language > Installer > > You get German since that is the first one in your list of Cultures. > > MSI has never officially supported the scenario you describe directly. > You > are perfectly free to create per-language transforms and use an .EXE > file to > install your MSI with those transforms (the supported way). There are > some > who have had success with embedding those same transforms based on a > particular naming convention and having them auto-selected by the OS > (not > supported, but I'm told it works). There may or may not be issues with > generating working MSP files if you use those transforms (you may have > to > mess with the transform applicability rules of the patch-supplied > transforms > depending on what the original language transforms did). > > You may be able to use the instance transform related tags in WiX, but > I > have never tried that so I don't know what gotchas you may find that > way. > Otherwise you may be able to link each language separately into .wixout > files, generate your transforms from those, and bind the "baseline" > wixout > into the MSI you subsequently apply each MST to. > > -----Original Message----- > From: Markus KARG [mailto:[hidden email]] > Sent: Tuesday, October 20, 2009 12:06 PM > To: [hidden email] > Subject: [WiX-users] Beginner's Question on Multi Language Installer > > Hello Everybody, > > > > I am new to both, MSI technology in general and the WiX product in > particular, but I have some experience with some old InstallShield > products > (pre-MSI-age). > > > > InstallShield allowed me to simply add translated strings for lots of > languages, so one single setup.exe contained the installer in multi > languages. This was very smart since I was able to send the same > setup.exe > to any country of the world. > > > > Now I want to write an installer with WiX that is also multi language > (I > don't want to have lots of setup.msi files, but only a single one). > > > > I wrote several .wxl files and linked them together using a line like > this > one: > > > > light.exe -cultures:de,neutral;fr,neutral;en,neutral;neutral -loc > de.wxl > -loc fr.wxl -loc en.wxl -loc neutral.wxl Setup.wixobj > > > > (While actually told nowhere, it seems that neutral.wxl must contain ' > .culture="". ' [i. e. empty string] to indicate that it is the neutral > culture. I found out that by trial and error when adding the neutral > fallback to each culture). > > > > What I expect to get from light.exe is one single .msi file containing > all > four language packs: German, French, English and Neutral. Light > provides a > single .msi so "from the outside" it seems to work. > > > > My target is that the Windows Installer at install time picks German, > French > or English strings automatically, depending on the user's current > "Region > and Language Settings" or instead picks neutral strings when the > current > user's local setting is neither German, French nor English (for > example, > "Polish" / "Poland"). > > > > While light v3 accepts the above line and does not complain in any way > (not > even ICE warnings), the Windows Installer picks Germany *always* when > running the resulting .msi file on my laptop -- despite the current > setting > of "Polish" / "Poland" in the "Region and Language Settings" control > panel. > :-( > > > > Can anybody tell me what my fault is? > > > > Thanks > > Markus > > > > ----------------------------------------------------------------------- > ----- > -- > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart > your > developing skills, take BlackBerry mobile applications to market and > stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > _______________________________________________ > WiX-users mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/wix-users > > > ----------------------------------------------------------------------- > ------- > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart > your > developing skills, take BlackBerry mobile applications to market and > stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > _______________________________________________ > WiX-users mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ WiX-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/wix-users |
||||||||||||||||
|
Bob Arnson-6
|
Markus KARG wrote:
> What I do not understand under this circumstances is: Why can I add a LIST > of cultures to light.exe? I mean, what does it actually do with all the > cultures if actually always taking just the first in the list? > It uses all of them to support fallback from available localization files. The WiX MSBuild targets use the list of cultures to generate one MSI per culture. -- sig://boB http://joyofsetup.com/ ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ WiX-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/wix-users |
||||||||||||||||
|
Blair-2
|
In reply to this post
by Markus KARG
It looks for the strings in all of the .wxl files sorting them in order of
Culture, based on the order of the -Cultures parameter followed by the order the wxl files appear in the commandline. Example without using cultures, but placing the wxl files in numbered order: One.wxl: ...<String Id="one">This is the override</String>... Two.wxl: ...<String Id="one">This is an override</String>... ...<String Id="two">This is the second</String>... ...<String Id="four">This is the fourth</String>... Three.wxl: ...<String Id="one">This is the original</String>... ...<String Id="two">This is another one</String>... ...<String Id="three">And yet another one</String>... Then: <Property Id="ONE" Value="!(loc.one)"/> <Property Id="TWO" Value="!(loc.two)"/> <Property Id="THREE" Value="!(loc.three)"/> <Property Id="FOUR" Value="!(loc.four)"/> Results: ONE: This is the override TWO: This is the second THREE: And yet another one FOUR: This is the fourth If each of the above .wxl files had a culture of "en-US" and you added a fourth .wxl file with a culture of "en-HK" containing the following: ...<String Id="one">Welcome to Hong Kong</String>... ...<String Id="three">Please come again</String>... And then rebuilt using a -Cultures:en-HK,en-US parameter Results: ONE: Welcome to Hong Kong TWO: This is the second THREE: Please come again FOUR: This is the fourth In other words, in culture-order, search each WXL that exactly matches that culture until you find a matching string. Any given single MSI in the end understands just one "language", based on the ProductLanguage tag (comes from Product\@Language) and the content (a single value for each and every string). Everything else we do is intended to change that MSI's content so that a different language becomes apparent. That is where we re-link with different languages in order to generate the transforms that set our base MSI to those different languages. At that point, you can vary just the Cultures parameter and all WXL files that don't match the culture are ignored, so the command-line variation between the different links is minimal and easily controlled for. -----Original Message----- From: Markus KARG [mailto:[hidden email]] Sent: Tuesday, October 20, 2009 3:01 PM To: 'General discussion for Windows Installer XML toolset.' Subject: Re: [WiX-users] Beginner's Question on Multi Language Installer Blair, thank you for your kind help. To sum up, multi-language support actually (or: "officially") is not possible with a single .msi (or at least, not without either patching or transforming it before installation). What I do not understand under this circumstances is: Why can I add a LIST of cultures to light.exe? I mean, what does it actually do with all the cultures if actually always taking just the first in the list? Thanks Markus > -----Original Message----- > From: Blair [mailto:[hidden email]] > Sent: Dienstag, 20. Oktober 2009 21:53 > To: 'General discussion for Windows Installer XML toolset.' > Subject: Re: [WiX-users] Beginner's Question on Multi Language > Installer > > You get German since that is the first one in your list of Cultures. > > MSI has never officially supported the scenario you describe directly. > You > are perfectly free to create per-language transforms and use an .EXE > file to > install your MSI with those transforms (the supported way). There are > some > who have had success with embedding those same transforms based on a > particular naming convention and having them auto-selected by the OS > (not > supported, but I'm told it works). There may or may not be issues with > generating working MSP files if you use those transforms (you may have > to > mess with the transform applicability rules of the patch-supplied > transforms > depending on what the original language transforms did). > > You may be able to use the instance transform related tags in WiX, but > I > have never tried that so I don't know what gotchas you may find that > way. > Otherwise you may be able to link each language separately into .wixout > files, generate your transforms from those, and bind the "baseline" > wixout > into the MSI you subsequently apply each MST to. > > -----Original Message----- > From: Markus KARG [mailto:[hidden email]] > Sent: Tuesday, October 20, 2009 12:06 PM > To: [hidden email] > Subject: [WiX-users] Beginner's Question on Multi Language Installer > > Hello Everybody, > > > > I am new to both, MSI technology in general and the WiX product in > particular, but I have some experience with some old InstallShield > products > (pre-MSI-age). > > > > InstallShield allowed me to simply add translated strings for lots of > languages, so one single setup.exe contained the installer in multi > languages. This was very smart since I was able to send the same > setup.exe > to any country of the world. > > > > Now I want to write an installer with WiX that is also multi language > (I > don't want to have lots of setup.msi files, but only a single one). > > > > I wrote several .wxl files and linked them together using a line like > this > one: > > > > light.exe -cultures:de,neutral;fr,neutral;en,neutral;neutral -loc > de.wxl > -loc fr.wxl -loc en.wxl -loc neutral.wxl Setup.wixobj > > > > (While actually told nowhere, it seems that neutral.wxl must contain ' > .culture="". ' [i. e. empty string] to indicate that it is the neutral > culture. I found out that by trial and error when adding the neutral > fallback to each culture). > > > > What I expect to get from light.exe is one single .msi file containing > all > four language packs: German, French, English and Neutral. Light > provides a > single .msi so "from the outside" it seems to work. > > > > My target is that the Windows Installer at install time picks German, > French > or English strings automatically, depending on the user's current > "Region > and Language Settings" or instead picks neutral strings when the > current > user's local setting is neither German, French nor English (for > example, > "Polish" / "Poland"). > > > > While light v3 accepts the above line and does not complain in any way > (not > even ICE warnings), the Windows Installer picks Germany *always* when > running the resulting .msi file on my laptop -- despite the current > setting > of "Polish" / "Poland" in the "Region and Language Settings" control > panel. > :-( > > > > Can anybody tell me what my fault is? > > > > Thanks > > Markus > > > > ----------------------------------------------------------------------- > ----- > -- > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart > your > developing skills, take BlackBerry mobile applications to market and > stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > _______________________________________________ > WiX-users mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/wix-users > > > ----------------------------------------------------------------------- > ------- > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart > your > developing skills, take BlackBerry mobile applications to market and > stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > _______________________________________________ > WiX-users mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/wix-users ---------------------------------------------------------------------------- -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ WiX-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ WiX-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/wix-users |
||||||||||||||||
|
Pally Sandher
|
Using the functionality Blair described below you could have your
project build multiple versions of the same MSI, bundle them all with a bootstrapper & have the bootstrapper launch the correct one depending on the users locale language settings. I haven't taken time to look at burn yet but you could do this in under 10 minutes using dotnetinstaller once your MSI's are built. If you don't embed your CAB file in the MSI's you should only need one CAB regardless of how many localised MSI's you have (since they all install the same files) thus keeping the file size of the complete package down. Unless your MSI's are ridiculously complex they should only be a few MB each. I expect this is how InstallShield or other similar products would approach this if they were using MSI's to achieve this. The advantage of having the same MSI built using different languages is that if you wanted to patch it you should only need to issue one MSP as the dialogs etc are used from the original MSI (unless you were patching something in your MSI which has localised text not just the payload of your MSI) so when patching the user would see the same language used during the original install. Major upgrades should also be uncomplicated in this scenario & afford you the possibility of adding more languages which weren't available with earlier releases which can be switched to automatically by your bootstrapper (e.g. Russian language user installs version 1 English language MSI. Version 2 has Russian localised MSI available, bootstrapper runs this for our Russian user which automatically upgrades version 1 using Major Upgrade functionality even though the English language MSI was used for version 1 installation). Good Luck. Palbinder Sandher Software Deployment & IT Administrator T: +44 (0) 141 945 8500 F: +44 (0) 141 945 8501 http://www.iesve.com **Design, Simulate + Innovate with the <Virtual Environment>** Integrated Environmental Solutions Limited. Registered in Scotland No. SC151456 Registered Office - Helix Building, West Of Scotland Science Park, Glasgow G20 0SP Email Disclaimer -----Original Message----- From: Blair [mailto:[hidden email]] Sent: 21 October 2009 01:11 To: 'General discussion for Windows Installer XML toolset.' Subject: Re: [WiX-users] Beginner's Question on Multi Language Installer It looks for the strings in all of the .wxl files sorting them in order of Culture, based on the order of the -Cultures parameter followed by the order the wxl files appear in the commandline. Example without using cultures, but placing the wxl files in numbered order: One.wxl: ...<String Id="one">This is the override</String>... Two.wxl: ...<String Id="one">This is an override</String>... ...<String Id="two">This is the second</String>... ...<String Id="four">This is the fourth</String>... Three.wxl: ...<String Id="one">This is the original</String>... ...<String Id="two">This is another one</String>... ...<String Id="three">And yet another one</String>... Then: <Property Id="ONE" Value="!(loc.one)"/> <Property Id="TWO" Value="!(loc.two)"/> <Property Id="THREE" Value="!(loc.three)"/> <Property Id="FOUR" Value="!(loc.four)"/> Results: ONE: This is the override TWO: This is the second THREE: And yet another one FOUR: This is the fourth If each of the above .wxl files had a culture of "en-US" and you added a fourth .wxl file with a culture of "en-HK" containing the following: ...<String Id="one">Welcome to Hong Kong</String>... ...<String Id="three">Please come again</String>... And then rebuilt using a -Cultures:en-HK,en-US parameter Results: ONE: Welcome to Hong Kong TWO: This is the second THREE: Please come again FOUR: This is the fourth In other words, in culture-order, search each WXL that exactly matches that culture until you find a matching string. Any given single MSI in the end understands just one "language", based on the ProductLanguage tag (comes from Product\@Language) and the content (a single value for each and every string). Everything else we do is intended to change that MSI's content so that a different language becomes apparent. That is where we re-link with different languages in order to generate the transforms that set our base MSI to those different languages. At that point, you can vary just the Cultures parameter and all WXL files that don't match the culture are ignored, so the command-line variation between the different links is minimal and easily controlled for. -----Original Message----- From: Markus KARG [mailto:[hidden email]] Sent: Tuesday, October 20, 2009 3:01 PM To: 'General discussion for Windows Installer XML toolset.' Subject: Re: [WiX-users] Beginner's Question on Multi Language Installer Blair, thank you for your kind help. To sum up, multi-language support actually (or: "officially") is not possible with a single .msi (or at least, not without either patching or transforming it before installation). What I do not understand under this circumstances is: Why can I add a LIST of cultures to light.exe? I mean, what does it actually do with all the cultures if actually always taking just the first in the list? Thanks Markus > -----Original Message----- > From: Blair [mailto:[hidden email]] > Sent: Dienstag, 20. Oktober 2009 21:53 > To: 'General discussion for Windows Installer XML toolset.' > Subject: Re: [WiX-users] Beginner's Question on Multi Language > Installer > > You get German since that is the first one in your list of Cultures. > > MSI has never officially supported the scenario you describe directly. > You > are perfectly free to create per-language transforms and use an .EXE > file to install your MSI with those transforms (the supported way). > There are some who have had success with embedding those same > transforms based on a particular naming convention and having them > auto-selected by the OS (not supported, but I'm told it works). There > may or may not be issues with generating working MSP files if you use > those transforms (you may have to mess with the transform > applicability rules of the patch-supplied transforms depending on what > the original language transforms did). > > You may be able to use the instance transform related tags in WiX, but > I have never tried that so I don't know what gotchas you may find that > way. > Otherwise you may be able to link each language separately into > .wixout files, generate your transforms from those, and bind the "baseline" > wixout > into the MSI you subsequently apply each MST to. > > -----Original Message----- > From: Markus KARG [mailto:[hidden email]] > Sent: Tuesday, October 20, 2009 12:06 PM > To: [hidden email] > Subject: [WiX-users] Beginner's Question on Multi Language Installer > > Hello Everybody, > > > > I am new to both, MSI technology in general and the WiX product in > particular, but I have some experience with some old InstallShield > products (pre-MSI-age). > > > > InstallShield allowed me to simply add translated strings for lots of > languages, so one single setup.exe contained the installer in multi > languages. This was very smart since I was able to send the same > setup.exe to any country of the world. > > > > Now I want to write an installer with WiX that is also multi language > (I don't want to have lots of setup.msi files, but only a single one). > > > > I wrote several .wxl files and linked them together using a line like > this > one: > > > > light.exe -cultures:de,neutral;fr,neutral;en,neutral;neutral -loc > de.wxl -loc fr.wxl -loc en.wxl -loc neutral.wxl Setup.wixobj > > > > (While actually told nowhere, it seems that neutral.wxl must contain ' > .culture="". ' [i. e. empty string] to indicate that it is the neutral > culture. I found out that by trial and error when adding the neutral > fallback to each culture). > > > > What I expect to get from light.exe is one single .msi file containing > all four language packs: German, French, English and Neutral. Light > provides a single .msi so "from the outside" it seems to work. > > > > My target is that the Windows Installer at install time picks German, > French or English strings automatically, depending on the user's > current "Region and Language Settings" or instead picks neutral > strings when the current user's local setting is neither German, > French nor English (for example, "Polish" / "Poland"). > > > > While light v3 accepts the above line and does not complain in any way > (not even ICE warnings), the Windows Installer picks Germany *always* > when running the resulting .msi file on my laptop -- despite the > current setting of "Polish" / "Poland" in the "Region and Language > Settings" control panel. > :-( > > > > Can anybody tell me what my fault is? > > > > Thanks > > Markus > > > > ---------------------------------------------------------------------- > - > ----- > -- > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart > your developing skills, take BlackBerry mobile applications to market > and stay ahead of the curve. Join us from November 9 - 12, 2009. > Register now! > http://p.sf.net/sfu/devconference > _______________________________________________ > WiX-users mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/wix-users > > > ---------------------------------------------------------------------- > - > ------- > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart > your developing skills, take BlackBerry mobile applications to market > and stay ahead of the curve. Join us from November 9 - 12, 2009. > Register now! > http://p.sf.net/sfu/devconference > _______________________________________________ > WiX-users mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------ ---- -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ WiX-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------ ------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ WiX-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ WiX-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/wix-users |
||||||||||||||||
|
mrtn
|
In reply to this post
by Blair-2
In stead of a bootstrapper - selecting the wanted transform - is it possible for the .msi file itself to select a transform file? Maybe in a C++ CA?
|
||||
|
Rob Mensching-7
|
Unfortunately, no.
Have you read through the WiX tutorial <http://wix.sf.net/tutorial>? I thought it had a nice section on languages in MSIs. virtually, Rob Mensching - RobMensching.com LLC <http://robmensching.com> On Wed, Oct 21, 2009 at 3:13 AM, mrtn <[hidden email]> wrote: > > In stead of a bootstrapper - selecting the wanted transform - is it > possible > for the .msi file itself to select a transform file? Maybe in a C++ CA? > > > Blair-2 wrote: > > > > You get German since that is the first one in your list of Cultures. > > > > MSI has never officially supported the scenario you describe directly. > You > > are perfectly free to create per-language transforms and use an .EXE file > > to > > install your MSI with those transforms (the supported way). There are > some > > who have had success with embedding those same transforms based on a > > particular naming convention and having them auto-selected by the OS (not > > supported, but I'm told it works). There may or may not be issues with > > generating working MSP files if you use those transforms (you may have to > > mess with the transform applicability rules of the patch-supplied > > transforms > > depending on what the original language transforms did). > > > > You may be able to use the instance transform related tags in WiX, but I > > have never tried that so I don't know what gotchas you may find that way. > > Otherwise you may be able to link each language separately into .wixout > > files, generate your transforms from those, and bind the "baseline" > wixout > > into the MSI you subsequently apply each MST to. > > > > -----Original Message----- > > From: Markus KARG [mailto:[hidden email]] > > Sent: Tuesday, October 20, 2009 12:06 PM > > To: [hidden email] > > Subject: [WiX-users] Beginner's Question on Multi Language Installer > > > > Hello Everybody, > > > > > > > > I am new to both, MSI technology in general and the WiX product in > > particular, but I have some experience with some old InstallShield > > products > > (pre-MSI-age). > > > > > > > > InstallShield allowed me to simply add translated strings for lots of > > languages, so one single setup.exe contained the installer in multi > > languages. This was very smart since I was able to send the same > setup.exe > > to any country of the world. > > > > > > > > Now I want to write an installer with WiX that is also multi language (I > > don't want to have lots of setup.msi files, but only a single one). > > > > > > > > I wrote several .wxl files and linked them together using a line like > this > > one: > > > > > > > > light.exe -cultures:de,neutral;fr,neutral;en,neutral;neutral -loc de.wxl > > -loc fr.wxl -loc en.wxl -loc neutral.wxl Setup.wixobj > > > > > > > > (While actually told nowhere, it seems that neutral.wxl must contain ' > > .culture="". ' [i. e. empty string] to indicate that it is the neutral > > culture. I found out that by trial and error when adding the neutral > > fallback to each culture). > > > > > > > > What I expect to get from light.exe is one single .msi file containing > all > > four language packs: German, French, English and Neutral. Light provides > a > > single .msi so "from the outside" it seems to work. > > > > > > > > My target is that the Windows Installer at install time picks German, > > French > > or English strings automatically, depending on the user's current "Region > > and Language Settings" or instead picks neutral strings when the current > > user's local setting is neither German, French nor English (for example, > > "Polish" / "Poland"). > > > > > > > > While light v3 accepts the above line and does not complain in any way > > (not > > even ICE warnings), the Windows Installer picks Germany *always* when > > running the resulting .msi file on my laptop -- despite the current > > setting > > of "Polish" / "Poland" in the "Region and Language Settings" control > > panel. > > :-( > > > > > > > > Can anybody tell me what my fault is? > > > > > > > > Thanks > > > > Markus > > > > > > > > > ---------------------------------------------------------------------------- > > -- > > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > > is the only developer event you need to attend this year. Jumpstart your > > developing skills, take BlackBerry mobile applications to market and stay > > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > > http://p.sf.net/sfu/devconference > > _______________________________________________ > > WiX-users mailing list > > [hidden email] > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > > ------------------------------------------------------------------------------ > > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > > is the only developer event you need to attend this year. Jumpstart your > > developing skills, take BlackBerry mobile applications to market and stay > > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > > http://p.sf.net/sfu/devconference > > _______________________________________________ > > WiX-users mailing list > > [hidden email] > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > -- > View this message in context: > http://n2.nabble.com/Beginner-s-Question-on-Multi-Language-Installer-tp3860692p3864297.html > Sent from the wix-users mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------------ > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart your > developing skills, take BlackBerry mobile applications to market and stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > _______________________________________________ > WiX-users mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/wix-users > > -- virtually, Rob Mensching - http://RobMensching.com LLC ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ WiX-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/wix-users |
||||||||||||||||
|
Markus KARG
|
In reply to this post
by Bob Arnson-6
> Markus KARG wrote:
> > What I do not understand under this circumstances is: Why can I add a > LIST > > of cultures to light.exe? I mean, what does it actually do with all > the > > cultures if actually always taking just the first in the list? > > > It uses all of them to support fallback from available localization > files. The WiX MSBuild targets use the list of cultures to generate one > MSI per culture. I still don't get it. I always understood fallback in the sense of: "-cultures:de,en" what mean: "If you don't find a word in German, then print the English word". But what I am talking about is: "-cultures:de;en" (semicolon but not comma). So what acutally will light do when I provide "de,en;en"? I mean, one must understand the details to correctly use it - and I WANT to correctly use it. :-) Thanks Markus ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ WiX-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/wix-users |
||||||||||||||||
|
Markus KARG
|
In reply to this post
by Blair-2
Blair,
but what is the difference then between: -culture:de,en -culture:de;en -culture:de,en;en ??? Thanks Markus > It looks for the strings in all of the .wxl files sorting them in order > of > Culture, based on the order of the -Cultures parameter followed by the > order > the wxl files appear in the commandline. > > Example without using cultures, but placing the wxl files in numbered > order: > > One.wxl: > ...<String Id="one">This is the override</String>... > > Two.wxl: > ...<String Id="one">This is an override</String>... > ...<String Id="two">This is the second</String>... > ...<String Id="four">This is the fourth</String>... > > Three.wxl: > ...<String Id="one">This is the original</String>... > ...<String Id="two">This is another one</String>... > ...<String Id="three">And yet another one</String>... > > Then: > <Property Id="ONE" Value="!(loc.one)"/> > <Property Id="TWO" Value="!(loc.two)"/> > <Property Id="THREE" Value="!(loc.three)"/> > <Property Id="FOUR" Value="!(loc.four)"/> > > Results: > ONE: This is the override > TWO: This is the second > THREE: And yet another one > FOUR: This is the fourth > > If each of the above .wxl files had a culture of "en-US" and you added > a > fourth .wxl file with a culture of "en-HK" containing the following: > ...<String Id="one">Welcome to Hong Kong</String>... > ...<String Id="three">Please come again</String>... > > And then rebuilt using a -Cultures:en-HK,en-US parameter > > Results: > ONE: Welcome to Hong Kong > TWO: This is the second > THREE: Please come again > FOUR: This is the fourth > > In other words, in culture-order, search each WXL that exactly matches > that > culture until you find a matching string. > > Any given single MSI in the end understands just one "language", based > on > the ProductLanguage tag (comes from Product\@Language) and the content > (a > single value for each and every string). Everything else we do is > intended > to change that MSI's content so that a different language becomes > apparent. > That is where we re-link with different languages in order to generate > the > transforms that set our base MSI to those different languages. At that > point, you can vary just the Cultures parameter and all WXL files that > don't > match the culture are ignored, so the command-line variation between > the > different links is minimal and easily controlled for. > > -----Original Message----- > From: Markus KARG [mailto:[hidden email]] > Sent: Tuesday, October 20, 2009 3:01 PM > To: 'General discussion for Windows Installer XML toolset.' > Subject: Re: [WiX-users] Beginner's Question on Multi Language > Installer > > Blair, > > thank you for your kind help. > > To sum up, multi-language support actually (or: "officially") is not > possible with a single .msi (or at least, not without either patching > or > transforming it before installation). > > What I do not understand under this circumstances is: Why can I add a > LIST > of cultures to light.exe? I mean, what does it actually do with all the > cultures if actually always taking just the first in the list? > > Thanks > Markus > > > -----Original Message----- > > From: Blair [mailto:[hidden email]] > > Sent: Dienstag, 20. Oktober 2009 21:53 > > To: 'General discussion for Windows Installer XML toolset.' > > Subject: Re: [WiX-users] Beginner's Question on Multi Language > > Installer > > > > You get German since that is the first one in your list of Cultures. > > > > MSI has never officially supported the scenario you describe > directly. > > You > > are perfectly free to create per-language transforms and use an .EXE > > file to > > install your MSI with those transforms (the supported way). There are > > some > > who have had success with embedding those same transforms based on a > > particular naming convention and having them auto-selected by the OS > > (not > > supported, but I'm told it works). There may or may not be issues > with > > generating working MSP files if you use those transforms (you may > have > > to > > mess with the transform applicability rules of the patch-supplied > > transforms > > depending on what the original language transforms did). > > > > You may be able to use the instance transform related tags in WiX, > but > > I > > have never tried that so I don't know what gotchas you may find that > > way. > > Otherwise you may be able to link each language separately into > .wixout > > files, generate your transforms from those, and bind the "baseline" > > wixout > > into the MSI you subsequently apply each MST to. > > > > -----Original Message----- > > From: Markus KARG [mailto:[hidden email]] > > Sent: Tuesday, October 20, 2009 12:06 PM > > To: [hidden email] > > Subject: [WiX-users] Beginner's Question on Multi Language Installer > > > > Hello Everybody, > > > > > > > > I am new to both, MSI technology in general and the WiX product in > > particular, but I have some experience with some old InstallShield > > products > > (pre-MSI-age). > > > > > > > > InstallShield allowed me to simply add translated strings for lots of > > languages, so one single setup.exe contained the installer in multi > > languages. This was very smart since I was able to send the same > > setup.exe > > to any country of the world. > > > > > > > > Now I want to write an installer with WiX that is also multi language > > (I > > don't want to have lots of setup.msi files, but only a single one). > > > > > > > > I wrote several .wxl files and linked them together using a line like > > this > > one: > > > > > > > > light.exe -cultures:de,neutral;fr,neutral;en,neutral;neutral -loc > > de.wxl > > -loc fr.wxl -loc en.wxl -loc neutral.wxl Setup.wixobj > > > > > > > > (While actually told nowhere, it seems that neutral.wxl must contain > ' > > .culture="". ' [i. e. empty string] to indicate that it is the > neutral > > culture. I found out that by trial and error when adding the neutral > > fallback to each culture). > > > > > > > > What I expect to get from light.exe is one single .msi file > containing > > all > > four language packs: German, French, English and Neutral. Light > > provides a > > single .msi so "from the outside" it seems to work. > > > > > > > > My target is that the Windows Installer at install time picks German, > > French > > or English strings automatically, depending on the user's current > > "Region > > and Language Settings" or instead picks neutral strings when the > > current > > user's local setting is neither German, French nor English (for > > example, > > "Polish" / "Poland"). > > > > > > > > While light v3 accepts the above line and does not complain in any > way > > (not > > even ICE warnings), the Windows Installer picks Germany *always* when > > running the resulting .msi file on my laptop -- despite the current > > setting > > of "Polish" / "Poland" in the "Region and Language Settings" control > > panel. > > :-( > > > > > > > > Can anybody tell me what my fault is? > > > > > > > > Thanks > > > > Markus > > > > > > > > --------------------------------------------------------------------- > -- > > ----- > > -- > > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > > is the only developer event you need to attend this year. Jumpstart > > your > > developing skills, take BlackBerry mobile applications to market and > > stay > > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > > http://p.sf.net/sfu/devconference > > _______________________________________________ > > WiX-users mailing list > > [hidden email] > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > --------------------------------------------------------------------- > -- > > ------- > > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > > is the only developer event you need to attend this year. Jumpstart > > your > > developing skills, take BlackBerry mobile applications to market and > > stay > > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > > http://p.sf.net/sfu/devconference > > _______________________________________________ > > WiX-users mailing list > > [hidden email] > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > ----------------------------------------------------------------------- > ----- > -- > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart > your > developing skills, take BlackBerry mobile applications to market and > stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > _______________________________________________ > WiX-users mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/wix-users > > > ----------------------------------------------------------------------- > ------- > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart > your > developing skills, take BlackBerry mobile applications to market and > stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > _______________________________________________ > WiX-users mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ WiX-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/wix-users |
||||||||||||||||
|
Markus KARG
|
In reply to this post
by Pally Sandher
Pally,
thank your for your introduction. So if I understand correctly, if I want to provide multi lingual installers, then either I must write a EXE that does the transformation, or I must provide multiple MSIs and the user must choose the right one, or the user must know how to use transforms? Actually doesn't really sound very smart to me. I just don't understand why I can't link ALL languages into my MSI and Windows Installer will select the right one on it's own. Why didn't Microsoft do that (I think they had a good reason)? Thanks Markus > -----Original Message----- > From: Pally Sandher [mailto:[hidden email]] > Sent: Mittwoch, 21. Oktober 2009 11:50 > To: General discussion for Windows Installer XML toolset. > Subject: Re: [WiX-users] Beginner's Question on Multi Language > Installer > > Using the functionality Blair described below you could have your > project build multiple versions of the same MSI, bundle them all with a > bootstrapper & have the bootstrapper launch the correct one depending > on > the users locale language settings. I haven't taken time to look at > burn > yet but you could do this in under 10 minutes using dotnetinstaller > once > your MSI's are built. > > If you don't embed your CAB file in the MSI's you should only need one > CAB regardless of how many localised MSI's you have (since they all > install the same files) thus keeping the file size of the complete > package down. Unless your MSI's are ridiculously complex they should > only be a few MB each. I expect this is how InstallShield or other > similar products would approach this if they were using MSI's to > achieve > this. > > The advantage of having the same MSI built using different languages is > that if you wanted to patch it you should only need to issue one MSP as > the dialogs etc are used from the original MSI (unless you were > patching > something in your MSI which has localised text not just the payload of > your MSI) so when patching the user would see the same language used > during the original install. Major upgrades should also be > uncomplicated > in this scenario & afford you the possibility of adding more languages > which weren't available with earlier releases which can be switched to > automatically by your bootstrapper (e.g. Russian language user installs > version 1 English language MSI. Version 2 has Russian localised MSI > available, bootstrapper runs this for our Russian user which > automatically upgrades version 1 using Major Upgrade functionality even > though the English language MSI was used for version 1 installation). > > Good Luck. > > > Palbinder Sandher > Software Deployment & IT Administrator > T: +44 (0) 141 945 8500 > F: +44 (0) 141 945 8501 > > http://www.iesve.com > **Design, Simulate + Innovate with the <Virtual Environment>** > Integrated Environmental Solutions Limited. Registered in Scotland No. > SC151456 > Registered Office - Helix Building, West Of Scotland Science Park, > Glasgow G20 0SP > Email Disclaimer > > > -----Original Message----- > From: Blair [mailto:[hidden email]] > Sent: 21 October 2009 01:11 > To: 'General discussion for Windows Installer XML toolset.' > Subject: Re: [WiX-users] Beginner's Question on Multi Language > Installer > > It looks for the strings in all of the .wxl files sorting them in order > of Culture, based on the order of the -Cultures parameter followed by > the order the wxl files appear in the commandline. > > Example without using cultures, but placing the wxl files in numbered > order: > > One.wxl: > ...<String Id="one">This is the override</String>... > > Two.wxl: > ...<String Id="one">This is an override</String>... > ...<String Id="two">This is the second</String>... > ...<String Id="four">This is the fourth</String>... > > Three.wxl: > ...<String Id="one">This is the original</String>... > ...<String Id="two">This is another one</String>... > ...<String Id="three">And yet another one</String>... > > Then: > <Property Id="ONE" Value="!(loc.one)"/> > <Property Id="TWO" Value="!(loc.two)"/> > <Property Id="THREE" Value="!(loc.three)"/> <Property Id="FOUR" > Value="!(loc.four)"/> > > Results: > ONE: This is the override > TWO: This is the second > THREE: And yet another one > FOUR: This is the fourth > > If each of the above .wxl files had a culture of "en-US" and you added > a > fourth .wxl file with a culture of "en-HK" containing the following: > ...<String Id="one">Welcome to Hong Kong</String>... > ...<String Id="three">Please come again</String>... > > And then rebuilt using a -Cultures:en-HK,en-US parameter > > Results: > ONE: Welcome to Hong Kong > TWO: This is the second > THREE: Please come again > FOUR: This is the fourth > > In other words, in culture-order, search each WXL that exactly matches > that culture until you find a matching string. > > Any given single MSI in the end understands just one "language", based > on the ProductLanguage tag (comes from Product\@Language) and the > content (a single value for each and every string). Everything else we > do is intended to change that MSI's content so that a different > language > becomes apparent. > That is where we re-link with different languages in order to generate > the transforms that set our base MSI to those different languages. At > that point, you can vary just the Cultures parameter and all WXL files > that don't match the culture are ignored, so the command-line variation > between the different links is minimal and easily controlled for. > > -----Original Message----- > From: Markus KARG [mailto:[hidden email]] > Sent: Tuesday, October 20, 2009 3:01 PM > To: 'General discussion for Windows Installer XML toolset.' > Subject: Re: [WiX-users] Beginner's Question on Multi Language > Installer > > Blair, > > thank you for your kind help. > > To sum up, multi-language support actually (or: "officially") is not > possible with a single .msi (or at least, not without either patching > or > transforming it before installation). > > What I do not understand under this circumstances is: Why can I add a > LIST of cultures to light.exe? I mean, what does it actually do with > all > the cultures if actually always taking just the first in the list? > > Thanks > Markus > > > -----Original Message----- > > From: Blair [mailto:[hidden email]] > > Sent: Dienstag, 20. Oktober 2009 21:53 > > To: 'General discussion for Windows Installer XML toolset.' > > Subject: Re: [WiX-users] Beginner's Question on Multi Language > > Installer > > > > You get German since that is the first one in your list of Cultures. > > > > MSI has never officially supported the scenario you describe > directly. > > You > > are perfectly free to create per-language transforms and use an .EXE > > file to install your MSI with those transforms (the supported way). > > There are some who have had success with embedding those same > > transforms based on a particular naming convention and having them > > auto-selected by the OS (not supported, but I'm told it works). There > > may or may not be issues with generating working MSP files if you use > > those transforms (you may have to mess with the transform > > applicability rules of the patch-supplied transforms depending on > what > > > the original language transforms did). > > > > You may be able to use the instance transform related tags in WiX, > but > > > I have never tried that so I don't know what gotchas you may find > that > > > way. > > Otherwise you may be able to link each language separately into > > .wixout files, generate your transforms from those, and bind the > "baseline" > > wixout > > into the MSI you subsequently apply each MST to. > > > > -----Original Message----- > > From: Markus KARG [mailto:[hidden email]] > > Sent: Tuesday, October 20, 2009 12:06 PM > > To: [hidden email] > > Subject: [WiX-users] Beginner's Question on Multi Language Installer > > > > Hello Everybody, > > > > > > > > I am new to both, MSI technology in general and the WiX product in > > particular, but I have some experience with some old InstallShield > > products (pre-MSI-age). > > > > > > > > InstallShield allowed me to simply add translated strings for lots of > > languages, so one single setup.exe contained the installer in multi > > languages. This was very smart since I was able to send the same > > setup.exe to any country of the world. > > > > > > > > Now I want to write an installer with WiX that is also multi language > > (I don't want to have lots of setup.msi files, but only a single > one). > > > > > > > > I wrote several .wxl files and linked them together using a line like > > this > > one: > > > > > > > > light.exe -cultures:de,neutral;fr,neutral;en,neutral;neutral -loc > > de.wxl -loc fr.wxl -loc en.wxl -loc neutral.wxl Setup.wixobj > > > > > > > > (While actually told nowhere, it seems that neutral.wxl must contain > ' > > .culture="". ' [i. e. empty string] to indicate that it is the > neutral > > > culture. I found out that by trial and error when adding the neutral > > fallback to each culture). > > > > > > > > What I expect to get from light.exe is one single .msi file > containing > > > all four language packs: German, French, English and Neutral. Light > > provides a single .msi so "from the outside" it seems to work. > > > > > > > > My target is that the Windows Installer at install time picks German, > > French or English strings automatically, depending on the user's > > current "Region and Language Settings" or instead picks neutral > > strings when the current user's local setting is neither German, > > French nor English (for example, "Polish" / "Poland"). > > > > > > > > While light v3 accepts the above line and does not complain in any > way > > > (not even ICE warnings), the Windows Installer picks Germany *always* > > when running the resulting .msi file on my laptop -- despite the > > current setting of "Polish" / "Poland" in the "Region and Language > > Settings" control panel. > > :-( > > > > > > > > Can anybody tell me what my fault is? > > > > > > > > Thanks > > > > Markus > > > > > > > > --------------------------------------------------------------------- > - > > - > > ----- > > -- > > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > > is the only developer event you need to attend this year. Jumpstart > > your developing skills, take BlackBerry mobile applications to market > > and stay ahead of the curve. Join us from November 9 - 12, 2009. > > Register now! > > http://p.sf.net/sfu/devconference > > _______________________________________________ > > WiX-users mailing list > > [hidden email] > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > --------------------------------------------------------------------- > - > > - > > ------- > > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > > is the only developer event you need to attend this year. Jumpstart > > your developing skills, take BlackBerry mobile applications to market > > and stay ahead of the curve. Join us from November 9 - 12, 2009. > > Register now! > > http://p.sf.net/sfu/devconference > > _______________________________________________ > > WiX-users mailing list > > [hidden email] > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > ----------------------------------------------------------------------- > - > ---- > -- > Come build with us! The BlackBerry(R) Developer Conference in SF, CA is > the only developer event you need to attend this year. Jumpstart your > developing skills, take BlackBerry mobile applications to market and > stay ahead of the curve. Join us from November 9 - 12, 2009. Register > now! > http://p.sf.net/sfu/devconference > _______________________________________________ > WiX-users mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/wix-users > > > ----------------------------------------------------------------------- > - > ------ > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart > your > developing skills, take BlackBerry mobile applications to market and > stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > _______________________________________________ > WiX-users mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > ----------------------------------------------------------------------- > ------- > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart > your > developing skills, take BlackBerry mobile applications to market and > stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > _______________________________________________ > WiX-users mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ WiX-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/wix-users |
||||||||||||||||
|
Markus KARG
|
In reply to this post
by Rob Mensching-7
Well, frankly spoken that (really huge) tutorial is in part outdated, false
and overly complex to understand, and it does things without explaining their intension or details in some chapters (what really confuses beginners). So after reading it two times I gave up and posted my question here... Thanks Markus > -----Original Message----- > From: Rob Mensching [mailto:[hidden email]] > Sent: Mittwoch, 21. Oktober 2009 16:38 > To: General discussion for Windows Installer XML toolset. > Subject: Re: [WiX-users] Beginner's Question on Multi Language > Installer > > Unfortunately, no. > Have you read through the WiX tutorial <http://wix.sf.net/tutorial>? I > thought it had a nice section on languages in MSIs. > > virtually, Rob Mensching - RobMensching.com LLC > <http://robmensching.com> > > On Wed, Oct 21, 2009 at 3:13 AM, mrtn <[hidden email]> > wrote: > > > > > In stead of a bootstrapper - selecting the wanted transform - is it > > possible > > for the .msi file itself to select a transform file? Maybe in a C++ > CA? > > > > > > Blair-2 wrote: > > > > > > You get German since that is the first one in your list of > Cultures. > > > > > > MSI has never officially supported the scenario you describe > directly. > > You > > > are perfectly free to create per-language transforms and use an > .EXE file > > > to > > > install your MSI with those transforms (the supported way). There > are > > some > > > who have had success with embedding those same transforms based on > a > > > particular naming convention and having them auto-selected by the > OS (not > > > supported, but I'm told it works). There may or may not be issues > with > > > generating working MSP files if you use those transforms (you may > have to > > > mess with the transform applicability rules of the patch-supplied > > > transforms > > > depending on what the original language transforms did). > > > > > > You may be able to use the instance transform related tags in WiX, > but I > > > have never tried that so I don't know what gotchas you may find > that way. > > > Otherwise you may be able to link each language separately into > .wixout > > > files, generate your transforms from those, and bind the "baseline" > > wixout > > > into the MSI you subsequently apply each MST to. > > > > > > -----Original Message----- > > > From: Markus KARG [mailto:[hidden email]] > > > Sent: Tuesday, October 20, 2009 12:06 PM > > > To: [hidden email] > > > Subject: [WiX-users] Beginner's Question on Multi Language > Installer > > > > > > Hello Everybody, > > > > > > > > > > > > I am new to both, MSI technology in general and the WiX product in > > > particular, but I have some experience with some old InstallShield > > > products > > > (pre-MSI-age). > > > > > > > > > > > > InstallShield allowed me to simply add translated strings for lots > of > > > languages, so one single setup.exe contained the installer in multi > > > languages. This was very smart since I was able to send the same > > setup.exe > > > to any country of the world. > > > > > > > > > > > > Now I want to write an installer with WiX that is also multi > language (I > > > don't want to have lots of setup.msi files, but only a single one). > > > > > > > > > > > > I wrote several .wxl files and linked them together using a line > like > > this > > > one: > > > > > > > > > > > > light.exe -cultures:de,neutral;fr,neutral;en,neutral;neutral -loc > de.wxl > > > -loc fr.wxl -loc en.wxl -loc neutral.wxl Setup.wixobj > > > > > > > > > > > > (While actually told nowhere, it seems that neutral.wxl must > contain ' > > > .culture="". ' [i. e. empty string] to indicate that it is the > neutral > > > culture. I found out that by trial and error when adding the > neutral > > > fallback to each culture). > > > > > > > > > > > > What I expect to get from light.exe is one single .msi file > containing > > all > > > four language packs: German, French, English and Neutral. Light > provides > > a > > > single .msi so "from the outside" it seems to work. > > > > > > > > > > > > My target is that the Windows Installer at install time picks > German, > > > French > > > or English strings automatically, depending on the user's current > "Region > > > and Language Settings" or instead picks neutral strings when the > current > > > user's local setting is neither German, French nor English (for > example, > > > "Polish" / "Poland"). > > > > > > > > > > > > While light v3 accepts the above line and does not complain in any > way > > > (not > > > even ICE warnings), the Windows Installer picks Germany *always* > when > > > running the resulting .msi file on my laptop -- despite the current > > > setting > > > of "Polish" / "Poland" in the "Region and Language Settings" > control > > > panel. > > > :-( > > > > > > > > > > > > Can anybody tell me what my fault is? > > > > > > > > > > > > Thanks > > > > > > Markus > > > > > > > > > > > > > > --------------------------------------------------------------------- > ------- > > > -- > > > Come build with us! The BlackBerry(R) Developer Conference in SF, > CA > > > is the only developer event you need to attend this year. Jumpstart > your > > > developing skills, take BlackBerry mobile applications to market > and stay > > > ahead of the curve. Join us from November 9 - 12, 2009. Register > now! > > > http://p.sf.net/sfu/devconference > > > _______________________________________________ > > > WiX-users mailing list > > > [hidden email] > > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > > > > > > --------------------------------------------------------------------- > --------- > > > Come build with us! The BlackBerry(R) Developer Conference in SF, > CA > > > is the only developer event you need to attend this year. Jumpstart > your > > > developing skills, take BlackBerry mobile applications to market > and stay > > > ahead of the curve. Join us from November 9 - 12, 2009. Register > now! > > > http://p.sf.net/sfu/devconference > > > _______________________________________________ > > > WiX-users mailing list > > > [hidden email] > > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > > > > > -- > > View this message in context: > > http://n2.nabble.com/Beginner-s-Question-on-Multi-Language-Installer- > tp3860692p3864297.html > > Sent from the wix-users mailing list archive at Nabble.com. > > > > > > --------------------------------------------------------------------- > --------- > > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > > is the only developer event you need to attend this year. Jumpstart > your > > developing skills, take BlackBerry mobile applications to market and > stay > > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > > http://p.sf.net/sfu/devconference > > _______________________________________________ > > WiX-users mailing list > > [hidden email] > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > > -- > virtually, Rob Mensching - http://RobMensching.com LLC > ----------------------------------------------------------------------- > ------- > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart > your > developing skills, take BlackBerry mobile applications to market and > stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > _______________________________________________ > WiX-users mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ WiX-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/wix-users |
||||||||||||||||
|
little.forest
|
Hi Markus,
I found this site is useful: http://blogs.technet.com/alexshev/pages/from-msi-to-wix.aspx I ever made a post "Where to get more WiX knowledge"(http://n2.nabble.com/Where-to-get-more-WiX-knowledge-td3529191.html#a3529191 ). But I was told to read MSI document. Well I even printed out that 1000+ pages document. But life is short, it's not easy to read them all. So whenever I want to do something either easy or complex, I'm having hard times. The fact is, in my company at least, the installer development work isn't considered important or advanced. People always told me that "installer is easy, just install some files, right?". Plus, installer work just takes 30% to 40% of my time. I'll have to have most of my time work on other development tasks. So there is really no much time to sharp my Wix skills. I guess this is true in most of other companies. So a good documentation is really needed. I hope Wix community could come up with a detailed documentation with code examples, details, and explain why it works that way. ________________________________ From: Markus KARG <[hidden email]> To: General discussion for Windows Installer XML toolset. <[hidden email]> Sent: Wednesday, October 21, 2009 11:18:00 AM Subject: Re: [WiX-users] Beginner's Question on Multi Language Installer Well, frankly spoken that (really huge) tutorial is in part outdated, false and overly complex to understand, and it does things without explaining their intension or details in some chapters (what really confuses beginners). So after reading it two times I gave up and posted my question here... Thanks Markus > -----Original Message----- > From: Rob Mensching [mailto:[hidden email]] > Sent: Mittwoch, 21. Oktober 2009 16:38 > To: General discussion for Windows Installer XML toolset. > Subject: Re: [WiX-users] Beginner's Question on Multi Language > Installer > > Unfortunately, no. > Have you read through the WiX tutorial <http://wix.sf.net/tutorial>? I > thought it had a nice section on languages in MSIs. > > virtually, Rob Mensching - RobMensching.com LLC > <http://robmensching.com> > > On Wed, Oct 21, 2009 at 3:13 AM, mrtn <[hidden email]> > wrote: > > > > > In stead of a bootstrapper - selecting the wanted transform - is it > > possible > > for the .msi file itself to select a transform file? Maybe in a C++ > CA? > > > > > > Blair-2 wrote: > > > > > > You get German since that is the first one in your list of > Cultures. > > > > > > MSI has never officially supported the scenario you describe > directly. > > You > > > are perfectly free to create per-language transforms and use an > .EXE file > > > to > > > install your MSI with those transforms (the supported way). There > are > > some > > > who have had success with embedding those same transforms based on > a > > > particular naming convention and having them auto-selected by the > OS (not > > > supported, but I'm told it works). There may or may not be issues > with > > > generating working MSP files if you use those transforms (you may > have to > > > mess with the transform applicability rules of the patch-supplied > > > transforms > > > depending on what the original language transforms did). > > > > > > You may be able to use the instance transform related tags in WiX, > but I > > > have never tried that so I don't know what gotchas you may find > that way. > > > Otherwise you may be able to link each language separately into > .wixout > > > files, generate your transforms from those, and bind the "baseline" > > wixout > > > into the MSI you subsequently apply each MST to. > > > > > > -----Original Message----- > > > From: Markus KARG [mailto:[hidden email]] > > > Sent: Tuesday, October 20, 2009 12:06 PM > > > To: [hidden email] > > > Subject: [WiX-users] Beginner's Question on Multi Language > Installer > > > > > > Hello Everybody, > > > > > > > > > > > > I am new to both, MSI technology in general and the WiX product in > > > particular, but I have some experience with some old InstallShield > > > products > > > (pre-MSI-age). > > > > > > > > > > > > InstallShield allowed me to simply add translated strings for lots > of > > > languages, so one single setup.exe contained the installer in multi > > > languages. This was very smart since I was able to send the same > > setup.exe > > > to any country of the world. > > > > > > > > > > > > Now I want to write an installer with WiX that is also multi > language (I > > > don't want to have lots of setup.msi files, but only a single one). > > > > > > > > > > > > I wrote several .wxl files and linked them together using a line > like > > this > > > one: > > > > > > > > > > > > light.exe -cultures:de,neutral;fr,neutral;en,neutral;neutral -loc > de.wxl > > > -loc fr.wxl -loc en.wxl -loc neutral.wxl Setup.wixobj > > > > > > > > > > > > (While actually told nowhere, it seems that neutral.wxl must > contain ' > > > .culture="". ' [i. e. empty string] to indicate that it is the > neutral > > > culture. I found out that by trial and error when adding the > neutral > > > fallback to each culture). > > > > > > > > > > > > What I expect to get from light.exe is one single .msi file > containing > > all > > > four language packs: German, French, English and Neutral. Light > provides > > a > > > single .msi so "from the outside" it seems to work. > > > > > > > > > > > > My target is that the Windows Installer at install time picks > German, > > > French > > > or English strings automatically, depending on the user's current > "Region > > > and Language Settings" or instead picks neutral strings when the > current > > > user's local setting is neither German, French nor English (for > example, > > > "Polish" / "Poland"). > > > > > > > > > > > > While light v3 accepts the above line and does not complain in any > way > > > (not > > > even ICE warnings), the Windows Installer picks Germany *always* > when > > > running the resulting .msi file on my laptop -- despite the current > > > setting > > > of "Polish" / "Poland" in the "Region and Language Settings" > control > > > panel. > > > :-( > > > > > > > > > > > > Can anybody tell me what my fault is? > > > > > > > > > > > > Thanks > > > > > > Markus > > > > > > > > > > > > > > --------------------------------------------------------------------- > ------- > > > -- > > > Come build with us! The BlackBerry(R) Developer Conference in SF, > CA > > > is the only developer event you need to attend this year. Jumpstart > your > > > developing skills, take BlackBerry mobile applications to market > and stay > > > ahead of the curve. Join us from November 9 - 12, 2009. Register > now! > > > http://p.sf.net/sfu/devconference > > > _______________________________________________ > > > WiX-users mailing list > > > [hidden email] > > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > > > > > > --------------------------------------------------------------------- > --------- > > > Come build with us! The BlackBerry(R) Developer Conference in SF, > CA > > > is the only developer event you need to attend this year. Jumpstart > your > > > developing skills, take BlackBerry mobile applications to market > and stay > > > ahead of the curve. Join us from November 9 - 12, 2009. Register > now! > > > http://p.sf.net/sfu/devconference > > > _______________________________________________ > > > WiX-users mailing list > > > [hidden email] > > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > > > > > -- > > View this message in context: > > http://n2.nabble.com/Beginner-s-Question-on-Multi-Language-Installer- > tp3860692p3864297.html > > Sent from the wix-users mailing list archive at Nabble.com. > > > > > > --------------------------------------------------------------------- > --------- > > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > > is the only developer event you need to attend this year. Jumpstart > your > > developing skills, take BlackBerry mobile applications to market and > stay > > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > > http://p.sf.net/sfu/devconference > > _______________________________________________ > > WiX-users mailing list > > [hidden email] > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > > -- > virtually, Rob Mensching - http://RobMensching.com LLC > ----------------------------------------------------------------------- > ------- > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart > your > developing skills, take BlackBerry mobile applications to market and > stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > _______________________________________________ > WiX-users mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ WiX-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/wix-users __________________________________________________________________ Yahoo! Canada Toolbar: Search from anywhere on the web, and bookmark your favourite sites. Download it now http://ca.toolbar.yahoo.com. ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ WiX-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/wix-users |
||||||||||||||||
|
Blair-2
|
In reply to this post
by Markus KARG
Depending on where you read the information, different things come into
play. In Votive (or anywhere else you are using the msbuild support), if you supply the string "de,en;en" for the cultures setting (I don't remember the casing or exact spelling of the property), you will get two MSIs built: one that uses German with English fallback (for any missing German strings) and English. Votive will call light.exe two times. In the light.exe command-line snipits as you list them below, in that third example, you get German, falling back to English, falling back to English. In other words, there is no real difference at all between the three command-lines. -----Original Message----- From: Markus KARG [mailto:[hidden email]] Sent: Wednesday, October 21, 2009 11:09 AM To: 'General discussion for Windows Installer XML toolset.' Subject: Re: [WiX-users] Beginner's Question on Multi Language Installer Blair, but what is the difference then between: -culture:de,en -culture:de;en -culture:de,en;en ??? Thanks Markus > It looks for the strings in all of the .wxl files sorting them in order > of > Culture, based on the order of the -Cultures parameter followed by the > order > the wxl files appear in the commandline. > > Example without using cultures, but placing the wxl files in numbered > order: > > One.wxl: > ...<String Id="one">This is the override</String>... > > Two.wxl: > ...<String Id="one">This is an override</String>... > ...<String Id="two">This is the second</String>... > ...<String Id="four">This is the fourth</String>... > > Three.wxl: > ...<String Id="one">This is the original</String>... > ...<String Id="two">This is another one</String>... > ...<String Id="three">And yet another one</String>... > > Then: > <Property Id="ONE" Value="!(loc.one)"/> > <Property Id="TWO" Value="!(loc.two)"/> > <Property Id="THREE" Value="!(loc.three)"/> > <Property Id="FOUR" Value="!(loc.four)"/> > > Results: > ONE: This is the override > TWO: This is the second > THREE: And yet another one > FOUR: This is the fourth > > If each of the above .wxl files had a culture of "en-US" and you added > a > fourth .wxl file with a culture of "en-HK" containing the following: > ...<String Id="one">Welcome to Hong Kong</String>... > ...<String Id="three">Please come again</String>... > > And then rebuilt using a -Cultures:en-HK,en-US parameter > > Results: > ONE: Welcome to Hong Kong > TWO: This is the second > THREE: Please come again > FOUR: This is the fourth > > In other words, in culture-order, search each WXL that exactly matches > that > culture until you find a matching string. > > Any given single MSI in the end understands just one "language", based > on > the ProductLanguage tag (comes from Product\@Language) and the content > (a > single value for each and every string). Everything else we do is > intended > to change that MSI's content so that a different language becomes > apparent. > That is where we re-link with different languages in order to generate > the > transforms that set our base MSI to those different languages. At that > point, you can vary just the Cultures parameter and all WXL files that > don't > match the culture are ignored, so the command-line variation between > the > different links is minimal and easily controlled for. > > -----Original Message----- > From: Markus KARG [mailto:[hidden email]] > Sent: Tuesday, October 20, 2009 3:01 PM > To: 'General discussion for Windows Installer XML toolset.' > Subject: Re: [WiX-users] Beginner's Question on Multi Language > Installer > > Blair, > > thank you for your kind help. > > To sum up, multi-language support actually (or: "officially") is not > possible with a single .msi (or at least, not without either patching > or > transforming it before installation). > > What I do not understand under this circumstances is: Why can I add a > LIST > of cultures to light.exe? I mean, what does it actually do with all the > cultures if actually always taking just the first in the list? > > Thanks > Markus > > > -----Original Message----- > > From: Blair [mailto:[hidden email]] > > Sent: Dienstag, 20. Oktober 2009 21:53 > > To: 'General discussion for Windows Installer XML toolset.' > > Subject: Re: [WiX-users] Beginner's Question on Multi Language > > Installer > > > > You get German since that is the first one in your list of Cultures. > > > > MSI has never officially supported the scenario you describe > directly. > > You > > are perfectly free to create per-language transforms and use an .EXE > > file to > > install your MSI with those transforms (the supported way). There are > > some > > who have had success with embedding those same transforms based on a > > particular naming convention and having them auto-selected by the OS > > (not > > supported, but I'm told it works). There may or may not be issues > with > > generating working MSP files if you use those transforms (you may > have > > to > > mess with the transform applicability rules of the patch-supplied > > transforms > > depending on what the original language transforms did). > > > > You may be able to use the instance transform related tags in WiX, > but > > I > > have never tried that so I don't know what gotchas you may find that > > way. > > Otherwise you may be able to link each language separately into > .wixout > > files, generate your transforms from those, and bind the "baseline" > > wixout > > into the MSI you subsequently apply each MST to. > > > > -----Original Message----- > > From: Markus KARG [mailto:[hidden email]] > > Sent: Tuesday, October 20, 2009 12:06 PM > > To: [hidden email] > > Subject: [WiX-users] Beginner's Question on Multi Language Installer > > > > Hello Everybody, > > > > > > > > I am new to both, MSI technology in general and the WiX product in > > particular, but I have some experience with some old InstallShield > > products > > (pre-MSI-age). > > > > > > > > InstallShield allowed me to simply add translated strings for lots of > > languages, so one single setup.exe contained the installer in multi > > languages. This was very smart since I was able to send the same > > setup.exe > > to any country of the world. > > > > > > > > Now I want to write an installer with WiX that is also multi language > > (I > > don't want to have lots of setup.msi files, but only a single one). > > > > > > > > I wrote several .wxl files and linked them together using a line like > > this > > one: > > > > > > > > light.exe -cultures:de,neutral;fr,neutral;en,neutral;neutral -loc > > de.wxl > > -loc fr.wxl -loc en.wxl -loc neutral.wxl Setup.wixobj > > > > > > > > (While actually told nowhere, it seems that neutral.wxl must contain > ' > > .culture="". ' [i. e. empty string] to indicate that it is the > neutral > > culture. I found out that by trial and error when adding the neutral > > fallback to each culture). > > > > > > > > What I expect to get from light.exe is one single .msi file > containing > > all > > four language packs: German, French, English and Neutral. Light > > provides a > > single .msi so "from the outside" it seems to work. > > > > > > > > My target is that the Windows Installer at install time picks German, > > French > > or English strings automatically, depending on the user's current > > "Region > > and Language Settings" or instead picks neutral strings when the > > current > > user's local setting is neither German, French nor English (for > > example, > > "Polish" / "Poland"). > > > > > > > > While light v3 accepts the above line and does not complain in any > way > > (not > > even ICE warnings), the Windows Installer picks Germany *always* when > > running the resulting .msi file on my laptop -- despite the current > > setting > > of "Polish" / "Poland" in the "Region and Language Settings" control > > panel. > > :-( > > > > > > > > Can anybody tell me what my fault is? > > > > > > > > Thanks > > > > Markus > > > > > > > > --------------------------------------------------------------------- > -- > > ----- > > -- > > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > > is the only developer event you need to attend this year. Jumpstart > > your > > developing skills, take BlackBerry mobile applications to market and > > stay > > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > > http://p.sf.net/sfu/devconference > > _______________________________________________ > > WiX-users mailing list > > [hidden email] > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > --------------------------------------------------------------------- > -- > > ------- > > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > > is the only developer event you need to attend this year. Jumpstart > > your > > developing skills, take BlackBerry mobile applications to market and > > stay > > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > > http://p.sf.net/sfu/devconference > > _______________________________________________ > > WiX-users mailing list > > [hidden email] > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > ----------------------------------------------------------------------- > ----- > -- > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart > your > developing skills, take BlackBerry mobile applications to market and > stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > _______________________________________________ > WiX-users mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/wix-users > > > ----------------------------------------------------------------------- > ------- > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart > your > developing skills, take BlackBerry mobile applications to market and > stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > _______________________________________________ > WiX-users mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/wix-users ---------------------------------------------------------------------------- -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ WiX-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ WiX-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/wix-users |
||||||||||||||||
|
Blair-2
|
In reply to this post
by Markus KARG
Votive (actually the MSBuild scripts) differentiates between semicolon and
comma. It assumes the list separator is a semicolon and uses that to split the list into separate invocations of light.exe, ignoring the comma. If you change the default list separator character you may or may not break this implementation, I don't remember and I'm not taking the time to look it up right now. Light.exe doesn't care, it recognizes both the semicolon and the comma as separators and treats them identically. -----Original Message----- From: Markus KARG [mailto:[hidden email]] Sent: Wednesday, October 21, 2009 11:04 AM To: 'General discussion for Windows Installer XML toolset.' Subject: Re: [WiX-users] Beginner's Question on Multi Language Installer > Markus KARG wrote: > > What I do not understand under this circumstances is: Why can I add a > LIST > > of cultures to light.exe? I mean, what does it actually do with all > the > > cultures if actually always taking just the first in the list? > > > It uses all of them to support fallback from available localization > files. The WiX MSBuild targets use the list of cultures to generate one > MSI per culture. I still don't get it. I always understood fallback in the sense of: "-cultures:de,en" what mean: "If you don't find a word in German, then print the English word". But what I am talking about is: "-cultures:de;en" (semicolon but not comma). So what acutally will light do when I provide "de,en;en"? I mean, one must understand the details to correctly use it - and I WANT to correctly use it. :-) Thanks Markus ---------------------------------------------------------------------------- -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ WiX-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ WiX-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/wix-users |
||||||||||||||||
|
Rob Mensching-7
|
In reply to this post
by Rob Mensching-7
Interesting. I've never heard that feedback before. Thank you.
On Wed, Oct 21, 2009 at 11:18 AM, Markus KARG <[hidden email]> wrote: > Well, frankly spoken that (really huge) tutorial is in part outdated, false > and overly complex to understand, and it does things without explaining > their intension or details in some chapters (what really confuses > beginners). So after reading it two times I gave up and posted my question > here... > > Thanks > Markus > > > -----Original Message----- > > From: Rob Mensching [mailto:[hidden email]] > > Sent: Mittwoch, 21. Oktober 2009 16:38 > > To: General discussion for Windows Installer XML toolset. > > Subject: Re: [WiX-users] Beginner's Question on Multi Language > > Installer > > > > Unfortunately, no. > > Have you read through the WiX tutorial <http://wix.sf.net/tutorial>? I > > thought it had a nice section on languages in MSIs. > > > > virtually, Rob Mensching - RobMensching.com LLC > > <http://robmensching.com> > > > > On Wed, Oct 21, 2009 at 3:13 AM, mrtn <[hidden email]> > > wrote: > > > > > > > > In stead of a bootstrapper - selecting the wanted transform - is it > > > possible > > > for the .msi file itself to select a transform file? Maybe in a C++ > > CA? > > > > > > > > > Blair-2 wrote: > > > > > > > > You get German since that is the first one in your list of > > Cultures. > > > > > > > > MSI has never officially supported the scenario you describe > > directly. > > > You > > > > are perfectly free to create per-language transforms and use an > > .EXE file > > > > to > > > > install your MSI with those transforms (the supported way). There > > are > > > some > > > > who have had success with embedding those same transforms based on > > a > > > > particular naming convention and having them auto-selected by the > > OS (not > > > > supported, but I'm told it works). There may or may not be issues > > with > > > > generating working MSP files if you use those transforms (you may > > have to > > > > mess with the transform applicability rules of the patch-supplied > > > > transforms > > > > depending on what the original language transforms did). > > > > > > > > You may be able to use the instance transform related tags in WiX, > > but I > > > > have never tried that so I don't know what gotchas you may find > > that way. > > > > Otherwise you may be able to link each language separately into > > .wixout > > > > files, generate your transforms from those, and bind the "baseline" > > > wixout > > > > into the MSI you subsequently apply each MST to. > > > > > > > > -----Original Message----- > > > > From: Markus KARG [mailto:[hidden email]] > > > > Sent: Tuesday, October 20, 2009 12:06 PM > > > > To: [hidden email] > > > > Subject: [WiX-users] Beginner's Question on Multi Language > > Installer > > > > > > > > Hello Everybody, > > > > > > > > > > > > > > > > I am new to both, MSI technology in general and the WiX product in > > > > particular, but I have some experience with some old InstallShield > > > > products > > > > (pre-MSI-age). > > > > > > > > > > > > > > > > InstallShield allowed me to simply add translated strings for lots > > of > > > > languages, so one single setup.exe contained the installer in multi > > > > languages. This was very smart since I was able to send the same > > > setup.exe > > > > to any country of the world. > > > > > > > > > > > > > > > > Now I want to write an installer with WiX that is also multi > > language (I > > > > don't want to have lots of setup.msi files, but only a single one). > > > > > > > > > > > > > > > > I wrote several .wxl files and linked them together using a line > > like > > > this > > > > one: > > > > > > > > > > > > > > > > light.exe -cultures:de,neutral;fr,neutral;en,neutral;neutral -loc > > de.wxl > > > > -loc fr.wxl -loc en.wxl -loc neutral.wxl Setup.wixobj > > > > > > > > > > > > > > > > (While actually told nowhere, it seems that neutral.wxl must > > contain ' > > > > .culture="". ' [i. e. empty string] to indicate that it is the > > neutral > > > > culture. I found out that by trial and error when adding the > > neutral > > > > fallback to each culture). > > > > > > > > > > > > > > > > What I expect to get from light.exe is one single .msi file > > containing > > > all > > > > four language packs: German, French, English and Neutral. Light > > provides > > > a > > > > single .msi so "from the outside" it seems to work. > > > > > > > > > > > > > > > > My target is that the Windows Installer at install time picks > > German, > > > > French > > > > or English strings automatically, depending on the user's current > > "Region > > > > and Language Settings" or instead picks neutral strings when the > > current > > > > user's local setting is neither German, French nor English (for > > example, > > > > "Polish" / "Poland"). > > > > > > > > > > > > > > > > While light v3 accepts the above line and does not complain in any > > way > > > > (not > > > > even ICE warnings), the Windows Installer picks Germany *always* > > when > > > > running the resulting .msi file on my laptop -- despite the current > > > > setting > > > > of "Polish" / "Poland" in the "Region and Language Settings" > > control > > > > panel. > > > > :-( > > > > > > > > > > > > > > > > Can anybody tell me what my fault is? > > > > > > > > > > > > > > > > Thanks > > > > > > > > Markus > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > ------- > > > > -- > > > > Come build with us! The BlackBerry(R) Developer Conference in SF, > > CA > > > > is the only developer event you need to attend this year. Jumpstart > > your > > > > developing skills, take BlackBerry mobile applications to market > > and stay > > > > ahead of the curve. Join us from November 9 - 12, 2009. Register > > now! > > > > http://p.sf.net/sfu/devconference > > > > _______________________________________________ > > > > WiX-users mailing list > > > > [hidden email] > > > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > --------- > > > > Come build with us! The BlackBerry(R) Developer Conference in SF, > > CA > > > > is the only developer event you need to attend this year. Jumpstart > > your > > > > developing skills, take BlackBerry mobile applications to market > > and stay > > > > ahead of the curve. Join us from November 9 - 12, 2009. Register > > now! > > > > http://p.sf.net/sfu/devconference > > > > _______________________________________________ > > > > WiX-users mailing list > > > > [hidden email] > > > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > > > > > > > > > -- > > > View this message in context: > > > http://n2.nabble.com/Beginner-s-Question-on-Multi-Language-Installer- > > tp3860692p3864297.html > > > Sent from the wix-users mailing list archive at Nabble.com. > > > > > > > > > --------------------------------------------------------------------- > > --------- > > > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > > > is the only developer event you need to attend this year. Jumpstart > > your > > > developing skills, take BlackBerry mobile applications to market and > > stay > > > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > > > http://p.sf.net/sfu/devconference > > > _______________________________________________ > > > WiX-users mailing list > > > [hidden email] > > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > > > > > > > -- > > virtually, Rob Mensching - http://RobMensching.com LLC > > ----------------------------------------------------------------------- > > ------- > > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > > is the only developer event you need to attend this year. Jumpstart > > your > > developing skills, take BlackBerry mobile applications to market and > > stay > > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > > http://p.sf.net/sfu/devconference > > _______________________________________________ > > WiX-users mailing list > > [hidden email] > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > ------------------------------------------------------------------------------ > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart your > developing skills, take BlackBerry mobile applications to market and stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > _______________________________________________ > WiX-users mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/wix-users > > -- virtually, Rob Mensching - http://RobMensching.com LLC ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ WiX-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/wix-users |
||||||||||||||||
|
saschabeaumont
|
In reply to this post
by Rob Mensching-7
Pretty much all WiX documentation in general assumes a basic knowledge
of Windows Installer technology. This isn't something immediately obvious to those new to WiX, since pretty much all other commercial installation software doesn't require this type of knowledge. I still have yet to find a better reference book than "The Definitive Guide to Windows Installer" - it's short (less than 300 pages), very simple and full of useful information. A lot of people jump straight into WiX without understanding how MSI works and get very confused very quickly, if you're familiar with how Windows Installer packages are put together WiX is pretty straightforward. If something isn't supported by Windows Installer, chances are it's not supported by WiX (with the exception of a few standard custom actions - http://wix.sourceforge.net/manual-wix3/standard_customactions.htm) Generally I refer to the Windows installer documentation (msi.chm) when I'm trying to figure out *what* it is I'm trying to accomplish, and then the WiX documentation for *how* to code it. There's a steep learning curve with Windows Installer and WiX, but it's definitely worth the effort :) Sascha On Thu, Oct 22, 2009 at 5:18 AM, Markus KARG <[hidden email]> wrote: > Well, frankly spoken that (really huge) tutorial is in part outdated, false > and overly complex to understand, and it does things without explaining > their intension or details in some chapters (what really confuses > beginners). So after reading it two times I gave up and posted my question > here... > > Thanks > Markus > >> -----Original Message----- >> From: Rob Mensching [mailto:[hidden email]] >> Sent: Mittwoch, 21. Oktober 2009 16:38 >> To: General discussion for Windows Installer XML toolset. >> Subject: Re: [WiX-users] Beginner's Question on Multi Language >> Installer >> >> Unfortunately, no. >> Have you read through the WiX tutorial <http://wix.sf.net/tutorial>? I >> thought it had a nice section on languages in MSIs. >> >> virtually, Rob Mensching - RobMensching.com LLC >> <http://robmensching.com> >> >> On Wed, Oct 21, 2009 at 3:13 AM, mrtn <[hidden email]> >> wrote: >> >> > >> > In stead of a bootstrapper - selecting the wanted transform - is it >> > possible >> > for the .msi file itself to select a transform file? Maybe in a C++ >> CA? >> > >> > >> > Blair-2 wrote: >> > > >> > > You get German since that is the first one in your list of >> Cultures. >> > > >> > > MSI has never officially supported the scenario you describe >> directly. >> > You >> > > are perfectly free to create per-language transforms and use an >> .EXE file >> > > to >> > > install your MSI with those transforms (the supported way). There >> are >> > some >> > > who have had success with embedding those same transforms based on >> a >> > > particular naming convention and having them auto-selected by the >> OS (not >> > > supported, but I'm told it works). There may or may not be issues >> with >> > > generating working MSP files if you use those transforms (you may >> have to >> > > mess with the transform applicability rules of the patch-supplied >> > > transforms >> > > depending on what the original language transforms did). >> > > >> > > You may be able to use the instance transform related tags in WiX, >> but I >> > > have never tried that so I don't know what gotchas you may find >> that way. >> > > Otherwise you may be able to link each language separately into >> .wixout >> > > files, generate your transforms from those, and bind the "baseline" >> > wixout >> > > into the MSI you subsequently apply each MST to. >> > > >> > > -----Original Message----- >> > > From: Markus KARG [mailto:[hidden email]] >> > > Sent: Tuesday, October 20, 2009 12:06 PM >> > > To: [hidden email] >> > > Subject: [WiX-users] Beginner's Question on Multi Language >> Installer >> > > >> > > Hello Everybody, >> > > >> > > >> > > >> > > I am new to both, MSI technology in general and the WiX product in >> > > particular, but I have some experience with some old InstallShield >> > > products >> > > (pre-MSI-age). >> > > >> > > >> > > >> > > InstallShield allowed me to simply add translated strings for lots >> of >> > > languages, so one single setup.exe contained the installer in multi >> > > languages. This was very smart since I was able to send the same >> > setup.exe >> > > to any country of the world. >> > > >> > > >> > > >> > > Now I want to write an installer with WiX that is also multi >> language (I >> > > don't want to have lots of setup.msi files, but only a single one). >> > > >> > > >> > > >> > > I wrote several .wxl files and linked them together using a line >> like >> > this >> > > one: >> > > >> > > >> > > >> > > light.exe -cultures:de,neutral;fr,neutral;en,neutral;neutral -loc >> de.wxl >> > > -loc fr.wxl -loc en.wxl -loc neutral.wxl Setup.wixobj >> > > >> > > >> > > >> > > (While actually told nowhere, it seems that neutral.wxl must >> contain ' >> > > .culture="". ' [i. e. empty string] to indicate that it is the >> neutral >> > > culture. I found out that by trial and error when adding the >> neutral >> > > fallback to each culture). >> > > >> > > >> > > >> > > What I expect to get from light.exe is one single .msi file >> containing >> > all >> > > four language packs: German, French, English and Neutral. Light >> provides >> > a >> > > single .msi so "from the outside" it seems to work. >> > > >> > > >> > > >> > > My target is that the Windows Installer at install time picks >> German, >> > > French >> > > or English strings automatically, depending on the user's current >> "Region >> > > and Language Settings" or instead picks neutral strings when the >> current >> > > user's local setting is neither German, French nor English (for >> example, >> > > "Polish" / "Poland"). >> > > >> > > >> > > >> > > While light v3 accepts the above line and does not complain in any >> way >> > > (not >> > > even ICE warnings), the Windows Installer picks Germany *always* >> when >> > > running the resulting .msi file on my laptop -- despite the current >> > > setting >> > > of "Polish" / "Poland" in the "Region and Language Settings" >> control >> > > panel. >> > > :-( >> > > >> > > >> > > >> > > Can anybody tell me what my fault is? >> > > >> > > >> > > >> > > Thanks >> > > >> > > Markus >> > > >> > > >> > > >> > > >> > --------------------------------------------------------------------- >> ------- >> > > -- >> > > Come build with us! The BlackBerry(R) Developer Conference in SF, >> CA >> > > is the only developer event you need to attend this year. Jumpstart >> your >> > > developing skills, take BlackBerry mobile applications to market >> and stay >> > > ahead of the curve. Join us from November 9 - 12, 2009. Register >> now! >> > > http://p.sf.net/sfu/devconference >> > > _______________________________________________ >> > > WiX-users mailing list >> > > [hidden email] >> > > https://lists.sourceforge.net/lists/listinfo/wix-users >> > > >> > > >> > > >> > --------------------------------------------------------------------- >> --------- >> > > Come build with us! The BlackBerry(R) Developer Conference in SF, >> CA >> > > is the only developer event you need to attend this year. Jumpstart >> your >> > > developing skills, take BlackBerry mobile applications to market >> and stay >> > > ahead of the curve. Join us from November 9 - 12, 2009. Register >> now! >> > > http://p.sf.net/sfu/devconference >> > > _______________________________________________ >> > > WiX-users mailing list >> > > [hidden email] >> > > https://lists.sourceforge.net/lists/listinfo/wix-users >> > > >> > > >> > >> > -- >> > View this message in context: >> > http://n2.nabble.com/Beginner-s-Question-on-Multi-Language-Installer- >> tp3860692p3864297.html >> > Sent from the wix-users mailing list archive at Nabble.com. >> > >> > >> > --------------------------------------------------------------------- >> --------- >> > Come build with us! The BlackBerry(R) Developer Conference in SF, CA >> > is the only developer event you need to attend this year. Jumpstart >> your >> > developing skills, take BlackBerry mobile applications to market and >> stay >> > ahead of the curve. Join us from November 9 - 12, 2009. Register now! >> > http://p.sf.net/sfu/devconference >> > _______________________________________________ >> > WiX-users mailing list >> > [hidden email] >> > https://lists.sourceforge.net/lists/listinfo/wix-users >> > >> > >> >> >> -- >> virtually, Rob Mensching - http://RobMensching.com LLC >> ----------------------------------------------------------------------- >> ------- >> Come build with us! The BlackBerry(R) Developer Conference in SF, CA >> is the only developer event you need to attend this year. Jumpstart >> your >> developing skills, take BlackBerry mobile applications to market and >> stay >> ahead of the curve. Join us from November 9 - 12, 2009. Register now! >> http://p.sf.net/sfu/devconference >> _______________________________________________ >> WiX-users mailing list >> [hidden email] >> https://lists.sourceforge.net/lists/listinfo/wix-users > > > ------------------------------------------------------------------------------ > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart your > developing skills, take BlackBerry mobile applications to market and stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > _______________________________________________ > WiX-users mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/wix-users > ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ WiX-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/wix-users |
||||||||||||||||
|
Markus KARG
|
Sascha,
thank you for this tip. I will get the book. :-) Regards Markus -----Original Message----- From: Sascha Beaumont [mailto:[hidden email]] Sent: Freitag, 23. Oktober 2009 02:27 To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Beginner's Question on Multi Language Installer Pretty much all WiX documentation in general assumes a basic knowledge of Windows Installer technology. This isn't something immediately obvious to those new to WiX, since pretty much all other commercial installation software doesn't require this type of knowledge. I still have yet to find a better reference book than "The Definitive Guide to Windows Installer" - it's short (less than 300 pages), very simple and full of useful information. A lot of people jump straight into WiX without understanding how MSI works and get very confused very quickly, if you're familiar with how Windows Installer packages are put together WiX is pretty straightforward. If something isn't supported by Windows Installer, chances are it's not supported by WiX (with the exception of a few standard custom actions - http://wix.sourceforge.net/manual-wix3/standard_customactions.htm) Generally I refer to the Windows installer documentation (msi.chm) when I'm trying to figure out *what* it is I'm trying to accomplish, and then the WiX documentation for *how* to code it. There's a steep learning curve with Windows Installer and WiX, but it's definitely worth the effort :) Sascha On Thu, Oct 22, 2009 at 5:18 AM, Markus KARG <[hidden email]> wrote: > Well, frankly spoken that (really huge) tutorial is in part outdated, false > and overly complex to understand, and it does things without explaining > their intension or details in some chapters (what really confuses > beginners). So after reading it two times I gave up and posted my question > here... > > Thanks > Markus > >> -----Original Message----- >> From: Rob Mensching [mailto:[hidden email]] >> Sent: Mittwoch, 21. Oktober 2009 16:38 >> To: General discussion for Windows Installer XML toolset. >> Subject: Re: [WiX-users] Beginner's Question on Multi Language >> Installer >> >> Unfortunately, no. >> Have you read through the WiX tutorial <http://wix.sf.net/tutorial>? I >> thought it had a nice section on languages in MSIs. >> >> virtually, Rob Mensching - RobMensching.com LLC >> <http://robmensching.com> >> >> On Wed, Oct 21, 2009 at 3:13 AM, mrtn <[hidden email]> >> wrote: >> >> > >> > In stead of a bootstrapper - selecting the wanted transform - is it >> > possible >> > for the .msi file itself to select a transform file? Maybe in a C++ >> CA? >> > >> > >> > Blair-2 wrote: >> > > >> > > You get German since that is the first one in your list of >> Cultures. >> > > >> > > MSI has never officially supported the scenario you describe >> directly. >> > You >> > > are perfectly free to create per-language transforms and use an >> .EXE file >> > > to >> > > install your MSI with those transforms (the supported way). There >> are >> > some >> > > who have had success with embedding those same transforms based on >> a >> > > particular naming convention and having them auto-selected by the >> OS (not >> > > supported, but I'm told it works). There may or may not be issues >> with >> > > generating working MSP files if you use those transforms (you may >> have to >> > > mess with the transform applicability rules of the patch-supplied >> > > transforms >> > > depending on what the original language transforms did). >> > > >> > > You may be able to use the instance transform related tags in WiX, >> but I >> > > have never tried that so I don't know what gotchas you may find >> that way. >> > > Otherwise you may be able to link each language separately into >> .wixout >> > > files, generate your transforms from those, and bind the "baseline" >> > wixout >> > > into the MSI you subsequently apply each MST to. >> > > >> > > -----Original Message----- >> > > From: Markus KARG [mailto:[hidden email]] >> > > Sent: Tuesday, October 20, 2009 12:06 PM >> > > To: [hidden email] >> > > Subject: [WiX-users] Beginner's Question on Multi Language >> Installer >> > > >> > > Hello Everybody, >> > > >> > > >> > > >> > > I am new to both, MSI technology in general and the WiX product in >> > > particular, but I have some experience with some old InstallShield >> > > products >> > > (pre-MSI-age). >> > > >> > > >> > > >> > > InstallShield allowed me to simply add translated strings for lots >> of >> > > languages, so one single setup.exe contained the installer in multi >> > > languages. This was very smart since I was able to send the same >> > setup.exe >> > > to any country of the world. >> > > >> > > >> > > >> > > Now I want to write an installer with WiX that is also multi >> language (I >> > > don't want to have lots of setup.msi files, but only a single one). >> > > >> > > >> > > >> > > I wrote several .wxl files and linked them together using a line >> like >> > this >> > > one: >> > > >> > > >> > > >> > > light.exe -cultures:de,neutral;fr,neutral;en,neutral;neutral -loc >> de.wxl >> > > -loc fr.wxl -loc en.wxl -loc neutral.wxl Setup.wixobj >> > > >> > > >> > > >> > > (While actually told nowhere, it seems that neutral.wxl must >> contain ' >> > > .culture="". ' [i. e. empty string] to indicate that it is the >> neutral >> > > culture. I found out that by trial and error when adding the >> neutral >> > > fallback to each culture). >> > > >> > > >> > > >> > > What I expect to get from light.exe is one single .msi file >> containing >> > all >> > > four language packs: German, French, English and Neutral. Light >> provides >> > a >> > > single .msi so "from the outside" it seems to work. >> > > >> > > >> > > >> > > My target is that the Windows Installer at install time picks >> German, >> > > French >> > > or English strings automatically, depending on the user's current >> "Region >> > > and Language Settings" or instead picks neutral strings when the >> current >> > > user's local setting is neither German, French nor English (for >> example, >> > > "Polish" / "Poland"). >> > > >> > > >> > > >> > > While light v3 accepts the above line and does not complain in any >> way >> > > (not >> > > even ICE warnings), the Windows Installer picks Germany *always* >> when >> > > running the resulting .msi file on my laptop -- despite the current >> > > setting >> > > of "Polish" / "Poland" in the "Region and Language Settings" >> control >> > > panel. >> > > :-( >> > > >> > > >> > > >> > > Can anybody tell me what my fault is? >> > > >> > > >> > > >> > > Thanks >> > > >> > > Markus >> > > >> > > >> > > >> > > >> > --------------------------------------------------------------------- >> ------- >> > > -- >> > > Come build with us! The BlackBerry(R) Developer Conference in SF, >> CA >> > > is the only developer event you need to attend this year. Jumpstart >> your >> > > developing skills, take BlackBerry mobile applications to market >> and stay >> > > ahead of the curve. Join us from November 9 - 12, 2009. Register >> now! >> > > http://p.sf.net/sfu/devconference >> > > _______________________________________________ >> > > WiX-users mailing list >> > > [hidden email] >> > > https://lists.sourceforge.net/lists/listinfo/wix-users >> > > >> > > >> > > >> > --------------------------------------------------------------------- >> --------- >> > > Come build with us! The BlackBerry(R) Developer Conference in SF, >> CA >> > > is the only developer event you need to attend this year. Jumpstart >> your >> > > developing skills, take BlackBerry mobile applications to market >> and stay >> > > ahead of the curve. Join us from November 9 - 12, 2009. Register >> now! >> > > http://p.sf.net/sfu/devconference >> > > _______________________________________________ >> > > WiX-users mailing list >> > > [hidden email] >> > > https://lists.sourceforge.net/lists/listinfo/wix-users >> > > >> > > >> > >> > -- >> > View this message in context: >> > http://n2.nabble.com/Beginner-s-Question-on-Multi-Language-Installer- >> tp3860692p3864297.html >> > Sent from the wix-users mailing list archive at Nabble.com. >> > >> > >> > --------------------------------------------------------------------- >> --------- >> > Come build with us! The BlackBerry(R) Developer Conference in SF, CA >> > is the only developer event you need to attend this year. Jumpstart >> your >> > developing skills, take BlackBerry mobile applications to market and >> stay >> > ahead of the curve. Join us from November 9 - 12, 2009. Register now! >> > http://p.sf.net/sfu/devconference >> > _______________________________________________ >> > WiX-users mailing list >> > [hidden email] >> > https://lists.sourceforge.net/lists/listinfo/wix-users >> > >> > >> >> >> -- >> virtually, Rob Mensching - http://RobMensching.com LLC >> ----------------------------------------------------------------------- >> ------- >> Come build with us! The BlackBerry(R) Developer Conference in SF, CA >> is the only developer event you need to attend this year. Jumpstart >> your >> developing skills, take BlackBerry mobile applications to market and >> stay >> ahead of the curve. Join us from November 9 - 12, 2009. Register now! >> http://p.sf.net/sfu/devconference >> _______________________________________________ >> WiX-users mailing list >> [hidden email] >> https://lists.sourceforge.net/lists/listinfo/wix-users > > > -- > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart your > developing skills, take BlackBerry mobile applications to market and stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > _______________________________________________ > WiX-users mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/wix-users > ---------------------------------------------------------------------------- -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ WiX-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ WiX-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/wix-users |
||||||||||||||||
|
Markus KARG
|
In reply to this post
by Rob Mensching-7
I think the problem is that I have no knowledge with MSI before, so the
tutorial expects things that MSI experts will know, but I just do not know (like what "advertise" means etc.). Regards Markus -----Original Message----- From: Rob Mensching [mailto:[hidden email]] Sent: Donnerstag, 22. Oktober 2009 02:51 To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Beginner's Question on Multi Language Installer Interesting. I've never heard that feedback before. Thank you. On Wed, Oct 21, 2009 at 11:18 AM, Markus KARG <[hidden email]> wrote: > Well, frankly spoken that (really huge) tutorial is in part outdated, false > and overly complex to understand, and it does things without explaining > their intension or details in some chapters (what really confuses > beginners). So after reading it two times I gave up and posted my question > here... > > Thanks > Markus > > > -----Original Message----- > > From: Rob Mensching [mailto:[hidden email]] > > Sent: Mittwoch, 21. Oktober 2009 16:38 > > To: General discussion for Windows Installer XML toolset. > > Subject: Re: [WiX-users] Beginner's Question on Multi Language > > Installer > > > > Unfortunately, no. > > Have you read through the WiX tutorial <http://wix.sf.net/tutorial>? I > > thought it had a nice section on languages in MSIs. > > > > virtually, Rob Mensching - RobMensching.com LLC > > <http://robmensching.com> > > > > On Wed, Oct 21, 2009 at 3:13 AM, mrtn <[hidden email]> > > wrote: > > > > > > > > In stead of a bootstrapper - selecting the wanted transform - is it > > > possible > > > for the .msi file itself to select a transform file? Maybe in a C++ > > CA? > > > > > > > > > Blair-2 wrote: > > > > > > > > You get German since that is the first one in your list of > > Cultures. > > > > > > > > MSI has never officially supported the scenario you describe > > directly. > > > You > > > > are perfectly free to create per-language transforms and use an > > .EXE file > > > > to > > > > install your MSI with those transforms (the supported way). There > > are > > > some > > > > who have had success with embedding those same transforms based on > > a > > > > particular naming convention and having them auto-selected by the > > OS (not > > > > supported, but I'm told it works). There may or may not be issues > > with > > > > generating working MSP files if you use those transforms (you may > > have to > > > > mess with the transform applicability rules of the patch-supplied > > > > transforms > > > > depending on what the original language transforms did). > > > > > > > > You may be able to use the instance transform related tags in WiX, > > but I > > > > have never tried that so I don't know what gotchas you may find > > that way. > > > > Otherwise you may be able to link each language separately into > > .wixout > > > > files, generate your transforms from those, and bind the "baseline" > > > wixout > > > > into the MSI you subsequently apply each MST to. > > > > > > > > -----Original Message----- > > > > From: Markus KARG [mailto:[hidden email]] > > > > Sent: Tuesday, October 20, 2009 12:06 PM > > > > To: [hidden email] > > > > Subject: [WiX-users] Beginner's Question on Multi Language > > Installer > > > > > > > > Hello Everybody, > > > > > > > > > > > > > > > > I am new to both, MSI technology in general and the WiX product in > > > > particular, but I have some experience with some old InstallShield > > > > products > > > > (pre-MSI-age). > > > > > > > > > > > > > > > > InstallShield allowed me to simply add translated strings for lots > > of > > > > languages, so one single setup.exe contained the installer in multi > > > > languages. This was very smart since I was able to send the same > > > setup.exe > > > > to any country of the world. > > > > > > > > > > > > > > > > Now I want to write an installer with WiX that is also multi > > language (I > > > > don't want to have lots of setup.msi files, but only a single one). > > > > > > > > > > > > > > > > I wrote several .wxl files and linked them together using a line > > like > > > this > > > > one: > > > > > > > > > > > > > > > > light.exe -cultures:de,neutral;fr,neutral;en,neutral;neutral -loc > > de.wxl > > > > -loc fr.wxl -loc en.wxl -loc neutral.wxl Setup.wixobj > > > > > > > > > > > > > > > > (While actually told nowhere, it seems that neutral.wxl must > > contain ' > > > > .culture="". ' [i. e. empty string] to indicate that it is the > > neutral > > > > culture. I found out that by trial and error when adding the > > neutral > > > > fallback to each culture). > > > > > > > > > > > > > > > > What I expect to get from light.exe is one single .msi file > > containing > > > all > > > > four language packs: German, French, English and Neutral. Light > > provides > > > a > > > > single .msi so "from the outside" it seems to work. > > > > > > > > > > > > > > > > My target is that the Windows Installer at install time picks > > German, > > > > French > > > > or English strings automatically, depending on the user's current > > "Region > > > > and Language Settings" or instead picks neutral strings when the > > current > > > > user's local setting is neither German, French nor English (for > > example, > > > > "Polish" / "Poland"). > > > > > > > > > > > > > > > > While light v3 accepts the above line and does not complain in any > > way > > > > (not > > > > even ICE warnings), the Windows Installer picks Germany *always* > > when > > > > running the resulting .msi file on my laptop -- despite the current > > > > setting > > > > of "Polish" / "Poland" in the "Region and Language Settings" > > control > > > > panel. > > > > :-( > > > > > > > > > > > > > > > > Can anybody tell me what my fault is? > > > > > > > > > > > > > > > > Thanks > > > > > > > > Markus > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > ------- > > > > -- > > > > Come build with us! The BlackBerry(R) Developer Conference in SF, > > CA > > > > is the only developer event you need to attend this year. Jumpstart > > your > > > > developing skills, take BlackBerry mobile applications to market > > and stay > > > > ahead of the curve. Join us from November 9 - 12, 2009. Register > > now! > > > > http://p.sf.net/sfu/devconference > > > > _______________________________________________ > > > > WiX-users mailing list > > > > [hidden email] > > > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > --------- > > > > Come build with us! The BlackBerry(R) Developer Conference in SF, > > CA > > > > is the only developer event you need to attend this year. Jumpstart > > your > > > > developing skills, take BlackBerry mobile applications to market > > and stay > > > > ahead of the curve. Join us from November 9 - 12, 2009. Register > > now! > > > > http://p.sf.net/sfu/devconference > > > > _______________________________________________ > > > > WiX-users mailing list > > > > [hidden email] > > > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > > > > > > > > > -- > > > View this message in context: > > > http://n2.nabble.com/Beginner-s-Question-on-Multi-Language-Installer- > > tp3860692p3864297.html > > > Sent from the wix-users mailing list archive at Nabble.com. > > > > > > > > > --------------------------------------------------------------------- > > --------- > > > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > > > is the only developer event you need to attend this year. Jumpstart > > your > > > developing skills, take BlackBerry mobile applications to market and > > stay > > > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > > > http://p.sf.net/sfu/devconference > > > _______________________________________________ > > > WiX-users mailing list > > > [hidden email] > > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > > > > > > > -- > > virtually, Rob Mensching - http://RobMensching.com LLC > > ----------------------------------------------------------------------- > > ------- > > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > > is the only developer event you need to attend this year. Jumpstart > > your > > developing skills, take BlackBerry mobile applications to market and > > stay > > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > > http://p.sf.net/sfu/devconference > > _______________________________________________ > > WiX-users mailing list > > [hidden email] > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > -- > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart your > developing skills, take BlackBerry mobile applications to market and stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > _______________________________________________ > WiX-users mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/wix-users > > -- virtually, Rob Mensching - http://RobMensching.com LLC ---------------------------------------------------------------------------- -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ WiX-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ WiX-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/wix-users |
||||||||||||||||
|
Markus KARG
|
In reply to this post
by Blair-2
As a suggestion for both, the WiX manual and the WiX tutorial, I want to
suggest to clearly point out this, and to make a clear distinction between votive interpretation and command line interpretation. I read it several times and did not find any hint that only votive is making a difference between command and semicolon, while the command line tool does not. Thanks for clarification. :-) Regards Markus -----Original Message----- From: Blair [mailto:[hidden email]] Sent: Donnerstag, 22. Oktober 2009 02:28 To: 'General discussion for Windows Installer XML toolset.' Subject: Re: [WiX-users] Beginner's Question on Multi Language Installer Votive (actually the MSBuild scripts) differentiates between semicolon and comma. It assumes the list separator is a semicolon and uses that to split the list into separate invocations of light.exe, ignoring the comma. If you change the default list separator character you may or may not break this implementation, I don't remember and I'm not taking the time to look it up right now. Light.exe doesn't care, it recognizes both the semicolon and the comma as separators and treats them identically. -----Original Message----- From: Markus KARG [mailto:[hidden email]] Sent: Wednesday, October 21, 2009 11:04 AM To: 'General discussion for Windows Installer XML toolset.' Subject: Re: [WiX-users] Beginner's Question on Multi Language Installer > Markus KARG wrote: > > What I do not understand under this circumstances is: Why can I add a > LIST > > of cultures to light.exe? I mean, what does it actually do with all > the > > cultures if actually always taking just the first in the list? > > > It uses all of them to support fallback from available localization > files. The WiX MSBuild targets use the list of cultures to generate one > MSI per culture. I still don't get it. I always understood fallback in the sense of: "-cultures:de,en" what mean: "If you don't find a word in German, then print the English word". But what I am talking about is: "-cultures:de;en" (semicolon but not comma). So what acutally will light do when I provide "de,en;en"? I mean, one must understand the details to correctly use it - and I WANT to correctly use it. :-) Thanks Markus ---------------------------------------------------------------------------- -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ WiX-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/wix-users ---------------------------------------------------------------------------- -- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ WiX-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ WiX-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/wix-users |
||||||||||||||||
| Free Embeddable Forum Powered by Nabble | Help |