Selecting a Registry Type (Windows Embedded CE 6.0)
1/6/2010
Choosing the correct type of registry improves the characteristics and behavior of devices. The registry type is invisible to applications, but it changes the persistence, boot sequence and speed, and memory usage on the device.
You can choose one of the following types of registry:
- Hive-based registry
- RAM-based registry
In Windows Embedded CE 6.0 and later, the registry is hive-based by default. RAM-based registry is possible, but requires rebuilding the OS design with SYSGEN_FSREGRAM set to 1 and SYSGEN_FSREGHIVE set to zero.
Hive-based
The Hive-Based Registry stores all registry data in files, also called hives, which can be located on any file system. This enables OEMs to easily save registry settings across cold boots without powering RAM.
The hive-based registry is most efficient on devices that cold boot often, but rarely or never warm boot. It is best suited for devices with persistent storage or multiple users.
The hive-based registry also provides separate user hives so registry configurations can be customized differently for each user. A multi-user system contains several user hives. A user's hive can be mounted on logon and unmounted on logoff.
RAM-based
The RAM-Based Registry stores all registry data in the object store, which is in RAM. Therefore, registry data is saved through warm boots, but not cold boots.
The RAM-based registry is efficient on devices that often warm boot, but not on devices that often cold boot. The RAM-based registry is best suited for single-user devices with battery-backed RAM or with a lack of persistent storage.
You can retrieve all registry information for backup and restore on cold boot. However, it is an item-by-item process and can be very slow for a large registry.