Another bit of an update to complete the info in the forum: In order to make the multilanguage, the msi takes the property "user locale" that can be retrieved through the function GetUserDefaultLCID. In a simple C++ console app:
#include "stdafx.h" #include <iostream> #include <windows.h> int _tmain(int argc, _TCHAR* argv[]) { LANGID userLocale = GetUserDefaultLCID(); std::cout << "User locale = " << userLocale << std::endl; system("pause"); return 0; } In Windows 7, this does not change when changing the so called display language, but when changing the language format! (check http://www.sevenforums.com/tutorials/3527-format-regional-language-change.html to see where do I mean). That's it. Changing that my multilanguage msi "works" (yet it does not seem anymore as a robust/viable solution) Regards Francisco 2011/3/18 Francisco Gabriel Malbrán <fgmalb...@gmail.com> > Tobias, > > Thank you very much for your help and time. Your answer was really complete > and clear. > > As you state, this undocumented "feature" of the msi's so widely used has > it's > fallbacks (basically, we assume things, while different windows installer > versions > may do their own way, or suddenly disable such "feature", for example) > > I think I finally understood why the multilanguage approachs so widely > documented by users all around the world won't work for me: Turns out that > I > was trying this in Windows 7, changing the original language (english) to > an > official downloaded spanish language pack. However, this change DOES NOT > CHANGE the underlying so called "OS language". > > I've discovered this by using the dotNetInstaller bootstraping tool. It has > automatic > language detection, so I made only a particular configuration for > traditional spanish (1034). > The bootstrapped installer then told me that there were no configurations > matching my > system locale. I've added to the configuration a filter that captures every > documented spanish > LCID. Again, resulting installer told me that no configuration matched my > os config. > I checked the log and it said it only detected a "1033" lcid. > > To go deeper in the problem, I've used a wmi tool that comes with windows > 7: wbemtest.exe > (you can find it in system32 folder). > There I was able to do the following consult: > > select Locale from Win32_OperatingSystem > > Once I double clicked in the result, I found that all locale variables were > still with a value > of 1033 (as dotNetInstaller stated). > > Then I made > > select * from Win32_OperatingSystem > > And I found a variable called "MUILanguages" with value "en-US, es-ES". I > also > found a variable "OSLanguage" with value "1033". > > So, in conclusion, what Windows 7 calls a Language pack, should really be > called > "Display Language Pack" since it only "masks" everything in another > language, while > at the low level keeps the original language. For example, folder names > still in english, > but are shown to the users as in another language. > > This is pretty much annoying, since dotNetInstaller also relies on the > Locale value and > not in the MUILanguage selected. > > I've also tried an installshield installer that was supposedly with an > automatic multilanguage > feature. Yet it popped out in english! > > I'm still figuring out the best path to follow here. This will probably > imply creating a bootstrapper > from scratch which use some variable like MUILanguage instead of Locale. > > > In the other hand, the information about arabic was pretty useful. > > Once again, thanks to Tobias and to all the list for the really helpful > help :). > > Best regards > > Francisco > > > 2011/3/17 Tobias S <tobias.s1...@gmail.com> > >> Francisco, >> >> When you get it working with the transform msiexec /i installer.msi >> TRANSFORMS=":1034". (I'm wondering about the ":1034" - should be e.g. >> 1034.mst???) this means it is working with your produced spanish >> transform applied to the english one. So when going back to >> InstallSite your problems can result in problems in step 3. or 4. . >> >> In general and why I don't like this approach very much: you must rely >> on the way here this undocumented feature retrieves the current OS >> language. If something goes wrong here it is difficult to track down >> the real issue. So did you try the package on several spanish systems >> ? >> >> Btw: Spanish if I remember right this is the OS where the LCID is 1034 >> and additionally other LCIDs exist. Maybe that causes problems in >> detecting a spanish OS with these embedded transforms. Read >> >> http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/LCIDs-of-the-supported-languages-of-WixUIExtension-tp5910168p5910168.html >> So maybe use some other language first to track down the problem and >> set the OS language as described in InstallSite. >> >> I'd recommend you to use e.g. German and 1031 for your testing. Please >> do exactly following: >> 1. Build the MSI + transform >> 2. test it with msiexec /i setup.msi TRANSFORMS=1031.mst >> >> If working >> 3. embed the transform with >> wisubstg.vbs Setup.msi 1031.mst 1031 >> >> 4. ORCA: View -> Summary Information... -> there change Languages to >> "1033,1031" (without quotes and without empty spaces between the >> numbers) and save the >> package afterwards) >> >> Change the computer language of the system to German (Gerrmany) as >> described on InstallSite. If still not working: Interesting is the >> output of step 3. Please post it here. Be aware that you work exactly >> on the generated packages and no dirty ones where possibly something >> went wrong... >> >> Regarding Arabic: Think of only localize text and not "RTL" the UIs. >> One of our arabic speaking guys told me that these people are used of >> not well RTL modified UIs. If you still want to do so: Get an >> installShield demo (they offer well RTL layout, think only the graphic >> on the start dlg and finish dialog is turned) and modify the WiX >> dialogs in WiX sources folder src\ext\UIExtension\wixlib (approx 25 - >> 30 dialogs and User Interface "sequences"). Think it should be >> possible here as well to embed a transform for the modifications even >> here this transform then contains a completely modified UI. But as >> never done also expect some issues when transforming with a torch >> generated transform for arabic (not sure whether -t Language is >> enough). >> >> As already stated think of using a bootstrapper for the language >> transform application (e.g. dotnetinstaller) instead of the embedded >> approach. >> >> regards >> Tobias >> >> >> 2011/3/17 Francisco Gabriel Malbrán <fgmalb...@gmail.com>: >> > Thanks Michael. I've tried your solution as well but still no results. >> > >> > Can any body please attach an empty/demo version of your multilanguage >> msi >> > to test it out in my computer? This way I would be able to detect if the >> > problem is in the procedure or in the environment. >> > >> > Thanks in advance >> > >> > Francisco >> > >> > 2011/3/17 Michael Tissington <michael_tissing...@ciqual.com> >> > >> >> out >> >> "$(ProjectDir)$(OutDir)1040.mst" >> >> >> > >> > >> > >> > -- >> > Francisco Gabriel Malbrán >> > Licenciado en Ciencias de la Computación >> > Online CV: www.linkedin.com/in/franciscomalbran >> > >> ------------------------------------------------------------------------------ >> > Colocation vs. Managed Hosting >> > A question and answer guide to determining the best fit >> > for your organization - today and in the future. >> > http://p.sf.net/sfu/internap-sfd2d >> > _______________________________________________ >> > WiX-users mailing list >> > WiX-users@lists.sourceforge.net >> > https://lists.sourceforge.net/lists/listinfo/wix-users >> > >> >> >> ------------------------------------------------------------------------------ >> Colocation vs. Managed Hosting >> A question and answer guide to determining the best fit >> for your organization - today and in the future. >> http://p.sf.net/sfu/internap-sfd2d >> _______________________________________________ >> WiX-users mailing list >> WiX-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/wix-users >> > > > > -- > Francisco Gabriel Malbrán > Licenciado en Ciencias de la Computación > Online CV: www.linkedin.com/in/franciscomalbran > -- Francisco Gabriel Malbrán Licenciado en Ciencias de la Computación Online CV: www.linkedin.com/in/franciscomalbran ------------------------------------------------------------------------------ Colocation vs. Managed Hosting A question and answer guide to determining the best fit for your organization - today and in the future. http://p.sf.net/sfu/internap-sfd2d _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users