none
Add a region/language to a unit in the field. RRS feed

  • Question

  • I was wondering if it is possible to add extra language and region support to an already deployed WinCE OS image? I am currently working on updating the whole WinCE image in the field via an application, but as an interim solution I was hoping to be able to update a dll or some other file on the system to add extra regions, such as Italy etc. For some reason they were not added to the OSDesign for my BSP. I am using a HIVE based registry with the NAND flash mounted as root, and I can currently update drivers by copying an updated version to the unit via ActiveSync and was hoping to be able to do something similar for language/region support.


    Cheers,

    Barak

    Thursday, September 22, 2011 7:47 AM

All replies

  • I think that it difficultly will work: if you have the old OS project you may clone it, add MUI support and spot the differences between the two OS's. Then you may change the registry and add the missing files related to the added languages. But... CE is a componentized OS so -as an example- the coredll.dll of the MUI OS may differ (include more components) in respect to the DLL of the non MUI OS. I remind that in a MUI OS the explorer taskbar has an icon to change the language which the explorer taskbar of your non MUI OS obviously hasn't got.

    Remember that although you can add files to the live OS you cannot delete/overwrite the preexistent modules.

    And: in %_WINCEROOT%\PUBLIC\CEBASE\OAK\MISC\winceos.bat you read:

        REM MUI APIs are part of coredll all the time, but MUI will get enabled ony if SYSGEN_MULTIUI is set
        if "%SYSGEN_MULTIUI%" == "1" set SYSGEN_CORELOC=1
        set _COREDLL_COMPONENTS=%_COREDLL_COMPONENTS% multiui

    Luca Calligaris lucaDOTcalligarisATeurotechDOTcom www.eurotech.com Check my blog: http://lcalligaris.wordpress.com
    Thursday, September 22, 2011 2:41 PM
  • Ok, thanks for the response. I already had SYSGEN_MULTIUI enabled, but what was not configured was the locales, accessed via Project Properties->Configuration Properties->Locale. For instance we need to be able to change the unit's region to Italian but that Locale was not enabled and when one of our application engineers attempts to change the region in his C# application it seems to work but once the unit has rebooted some of the applications won't run anymore as they receive a "Platform not supported exception". Although some of the error dialogs in explorer actually get displayed in Italian once we have changed. The engineer is changing the locale by setting the following registry settings:

    [HKEY_LOCAL_MACHINE\nls\overrides]\LCID = 1040

    [HKEY_CURRENT_USER\MUI]\CurLang = 1040

    [HLEY_CURRENT_USER\MUI]\SysLang = 1040

    Are there registry settings that need to be added or enabled so that the Italian locale is supported? I will diff the reginit.ini from a build with all the locales enabled and one built without to see if I can spot any differences that might get this working unless someone has another suggestion? Edit: actually just did this and cannot spot any differences in the registry relating to this.

    Cheers,

    Barak.

    Friday, September 23, 2011 4:46 AM