Add locales to an existing Windows Embedded Compact image
Windows Embedded compact, like its desktop counterparts, supports a rich set of APIs that can be used to format different values as numbers, dates, currencies in the way users expect them in their own country. Unfortunately, support for a specific locale (meaning a combination of language and also country-specific formatting rules) can require a few kilobytes and add all supported locales in our standard images is not possible. Also selecting only a subset of language would not be a good solution because our customers may have different markets and so need support for different combinations of locales. Our standard image supports only the "en" default English locale.
Add support for all Windows Embedded locales
We have separated all the locales files to add it on our standard WinCE image. Please follow the below step by step instructions to do that
- Please download the locales file from below link and extract it your Local PC
locales supported by Windows Embedded Compact
- Copy top level AutoCopy directory contents to the root directory of the pen drive or SD card and also copy LocaleEntries.reg into it. If you need only very specific locales that you can customize it inside the copied directory
- After your target WinCE device boots, Connect this pen drive or SD card to the device
- The AutoCopy directory contents will be copied to WinCE FlashDisk storage
- Import the LocaleEntries.reg using Registry tool
- Save Registry
- Remove the external storage and reboot
- Verify that additional locales are working by changing Start --> Settings --> Control panel --> Regional settings
You can add all the additional supported languages using a CAB installer. If you install the CAB on a Windows Embedded Compact 2013 device you'll get a warning telling you that the installer was not meant to run on that version of the OS, you can ignore it since the CAB contains no code, but only configuration information and data files.
Installer for all locales supported by Windows Embedded Compact
If you kept all the locales then will take around 1MB of Storage and the same amount of RAM (unfortunately locale setting files must be copied in the \Windows folder that is mounted from the RAM-based object store).
We have even more languages supported wince.nls file. Please download that from here and extract and overwrite it on "\FlashDisk\AutoCopy\Windows\".
Build or customize an installer for specific locales
If you need to support a limited subset of the locales to save memory and storage space, you'll need to build your own installer or remove the unwanted files from the "\FlashDisk\AutoCopy\Windows". To help you we provide the project we used to build the full installer, so you can remove the locales you don't need a rebuild a smaller installation package.
The project requires VS2008 because Microsoft does not support CAB projects on VS2013/2015.
A CAB installer built for Windows Embedded Compact 7 will generate a warning when installing on a Windows Embedded compact 2013 machine in interactive mode, but this will not prevent it from working correctly.
You can use the project file to customize the installer, removing locales that you don't need for your device.
Unfortunately, there is an issue with CabWiz, so you need to apply the workaround described here to be able to compile the project.
Visual Studio 2008 project to build CAB installer
Side effect: Regional settings does not preserve across reboot
This luxury feature gives a few benefits and also introduced a bug.
Few benefits are:
- customers no need to build a custom image for the additional locales
- It is easily customizable for the required specific locales by deleting unwanted locales and registry
- WinCE image size is reduced that eventually reduces the boot time
The bug is regional setting does not preserve across reboot. WinCE operating systems expect default locales should be available in the \Windows directory before the filesystem is mounting and that we can't make it. Almost it is impossible to solve it. We have other workarounds for the bug, please see for the details below
Programmatically set the locale after every boot. Please refer to https://stackoverflow.com/questions/10334429/changing-windows-ce-6-0-locale-using-native-code
Build a custom image with adding of required locale settings using our Windows Embedded Compact (WEC). Benefits are nullified.
We have AutoCopy and EarlyAutoCopy feature that you would use to make sure all the required files will be available in the \windows directory much before the device booting completes.