PHM Registry Editor Help

Concepts
Registry Editor Overview
Registry keys
Values entries data types
How To...
Find a string, value, or key
Add a registry key to Favorites
Add a key
Add a value
Change a value
Delete a key or value
Rename a key or value
Copy a registry key name
Copy or move a value
Export the registry
Import the registry
Backup the registry
Restore the registry
References
Registry Files
Known bugs and limitations
Advanced topics
Editing registry files (.reg)

Registry Editor Overview

Registry Editor is an advanced tool that enables you to change settings in your system registry, which contains information about how your device runs.
Windows CE stores its configuration information in a database (the registry) that is organized in a tree format.
Although PHM Registry Editor enables you to inspect and modify the registry, normally you do not need to do so, and making incorrect changes can break your system.
An advanced user who is prepared to both edit and restore the registry can safely use PHM Registry Editor for such tasks as eliminating duplicate entries or deleting entries for programs that have been uninstalled or deleted.
Folders represent keys in the registry and are shown in the navigation pane at the top of the Registry Editor window.
In the topic pane on the bottom, the value entries available in the selected registry key are displayed.
When you tap a value entry, it opens an editing dialog box.
You should not edit your registry unless it is absolutely necessary.
If there is an error in your registry, your device may not function properly.
If this happens, you can restore the registry to the same version you were using when you last successfully backuped your device using ActiveSync, or perform a hard reset to restore your device to factory settings.
Generally it is best to use Pocket PC Settings to change your system settings.
You should backup your device settings before making any change.
Registry Keys
Values entries data types
File formats used for registry import and export functions

PHM Registry Editor Keys

The navigation pane of the PHM Registry Editor displays folders, each of which represents a predifined registry key on the Windows CE registry.
The Pocket PC registry stores data about applications, drivers, user preferences, and other configuration settings. The registry is organized in a hierarchical system of keys and values. A key is similar to a directory and can contain values and other keys.
HKEY_CLASSES_ROOT
Contain OLE/COM and file-type matching configuration data.
The information stored here ensures that the correct program opens when you open a file by using the File Explorer.
HKEY_CURRENT_USER
Contains the root of the configuration information for the user using the device.
The user's specific settings, such as preferences and personal information are stored here.
This information is refered to as user's profile.
HKEY_LOCAL_MACHINE
Contain configuration information particular to the device, such as drivers configuration and system settings.
HKEY_USERS
Stores data that applies to all users
On the Pocket PC, this key is usually ignored.

Values entries data types

Each value have an icon identifying its type, the complete type name is also displayed in at the bottom of edit windows.
The following table lists the data types currently defined and used by Windows CE.
REG_SZ
A fixed-length text string
REG_BINARY
Raw binary data. Most hardware component information is stored as binary data and is displayed in PHM Registry Editor in hexadecimal format.
REG_DWORD
Data represented by a number that is 4 bytes long. Many parameters for device drivers and services are this type and are displayed in PHM Registry Editor in binary, hexadecimal or decimal format.
REG_MULTI_SZ
A multiple string, Values that contain lists or multiple values in a form that people can read are usually this type.
REG_EXPAND_SZ
A variable length data string. This data type includes variables that are resolved when a program or service uses the data.
All values are in fact binary, the type is only available to allow applications to check the content type.
This application provide editors depending on the data type, but any value can be edited using the binary editor by selecting Modify Binary Data from it's popup menu.

To find a string, value, or key

1. On the Tools menu, tap Find.
2. In Find what, type the string, value, or key you want to find
3. Select the Keys, Values, Data, and Match whole string only check boxes to match the type of search you want, and then tap Find Next.

The search bar will then be displayed to continue the search.
Notes

- You can speed up the search by looking through only one type of information; for example, if you know that you are looking for a value entry, you can clear the Keys and Data check boxes, so that you will not search through those objects.
- Start the search from "My Device" to search the whole registry.
- To repeat the search, tap the Find Next button on the search bar.
- The search is performed based on the real registry order, not on the alphabetical order you can see on the screen, because of that, it may sometimes find occurrences that may seems to be located before previous ones. Still, the whole registry will be searched if you let it search without changing the selected key between searches.

To add a registry key to Favorites

1. In the registry tree, tap the registry key you want to add to Favorites.
2. Tap the Favorites button on the menu bar.
3. On the Add / Remove tab, tap the Add... button.
4. In the Add to the Favorites dialog box, accept the default registry key name or type a new one.

The registry key is added to the Favorites list. You can then return to this key by tapping on it in the Favorites dialog box on the Open tab.
Notes

- You can create a list of favorite/frequently visited registry keys.
- To remove a registry key from the Favorites list, tap the Favorites button on the menu bar, and on the Add / Remove tab, select the registry key to remove from the Favorites list, then tap Remove.
- Renaming a favorite does not rename the corresponding registry key.

To add a key

1. In the registry tree, tap the registry key under which you would like to add a new key.
2. On the Edit menu, tap New Key.
3. Type a name for the new key, and then press Enter.

To add a value

1. In the registry tree, tap tap the registry key in which you want to add the new value.
2. On the Edit menu, tap the type of value you want to add: New String Value, New Binary Value, New DWORD Value, New Multi String Value or New Expandable String Value.
3. In Value name, type a name for the new value or clear to create a (default) value.
4. In Value data, type the data for the new value or leave empty if you don't want data for the new value.
5. Tap the OK button.

To change a value

1. Tap the value you want to change.
2. In Value data, type the new data for the value.
3. Tap the OK button.

You can also edit any value as binary :

1. Tap & hold the value you want to change, and then select Modify Binary Value on the popup menu.
2. In Value data, type the new data for the value.
3. Tap the OK button.

To delete a key or value

1. Tap & hold the registry key or value entry you want to delete.
2. Select Delete on the popup menu.

To rename a key or value

1. Tap & hold the registry key or value entry you want to rename.
2. Select Rename on the popup menu.
3. Type the new name, and then press Enter.

Notes

- You can also rename a value entry in its edit window.

To copy a registry key name

1. In the registry tree, tap & hold a registry key.
2. On the popup menu, select Copy Key Name.
3. Paste the name of the registry key into another program or document.

Notes

- The registry key name is copied as text with its complete path.

Copy or move a value

1. Tap & hold the value entry you want to copy or move.
2. On the popup menu, select Copy or Cut to move the value.
3. In the registry tree, tap the registry key to which you want to copy or move the value.
4. On the Edit menu, tap Paste.

Notes

- You can also paste the value as text in another application, it is pasted with its registry file V5 syntax. Please note it is not possible to paste a value back in the registry if it have been copied from another application.

To export the registry to a text file

1. In the registry tree, tap & hold the key you want to export.
2. Select Export... on the popup menu.
3. Enter the name, select the Folder, Type and Location for the registry file.
4. Tap the OK button.

Notes

- To export all the entire registry, export it from "My Device".
- Registry files can be saved in the V4, eVT or V5 formats, make sure you read the notes about the file format.
- You can use a text editor to work with the .reg files you create by exporting, it must support ANSI for V4 and eVT files and Unicode for V5 files.

To import some or all of the registry

Registry files import is not available yet
(see the known bugs and limitations)

To backup the registry

1. On the Tools menu, tap Backup....
2. Enter the name, select the Folder and Location for the registry file.
3. Tap the OK button.

Notes

- Backuping the registry always creates a complete snapshot, you can not select to backup a specific key.
- Backup files are binary, you can not edit them, but they are smaller than exported .reg files.

To restore the registry

1. On the Tools menu, tap Restore....
2. Tap the file you want to restore.

Notes

- Registry backups are always complete snapshots, you can not restore a specific key using backups (use exported .reg files instead if needed).

Registry Files

This information is very important, and you should know these issues before using the registry file import and export functions !
Win RegEdit 5
Windows 2000, XP and .NET uses the "Registry Editor 5.00" format, which is Unicode.
Because Windows CE is also Unicode, we recommend to use this format.
Registry files using the V5 format will be about twice as big as V4 files, but it will contain all the original data while V4 would lose Unicode information.
Win RegEdit 4
Windows 9x and NT4 use the "REGEDIT4" format, which is ANSI.
This format will lose any caracter using the 2nd Byte in REG_SZ, REG_MULTI_SZ and REG_EXPAND_SZ values (mostly Asian text).
This format is provided for compatibility, we recommend using the new V5 file format if you don't need compatibility with other applications still using the old format.
eVT Remote Registry Editor
The Windows CE Remote Registry Editor (available in eMbedded Visual Tools) use the V4 format, but with some differences with the Windows 9x/NT4 version.
Because it doesn't need to be able to import back (that function is not available), it does not escape characters like ", which makes it impossible to import it correctly.
Also, it does not export accurately REG_MULTISZ values.
Registry backups
Windows CE supports creating snapshots of the RAM-based registry to files, this provides a very efficient backup/restore function.
Registry backup files are binary and can not be edited, it is also not certain to be compatible between different versions and devices, however this is the best way to create a last-known-good restore point.

Edit String

This window let you edit a single line string value (REG_SZ or REG_EXPAND_SZ).

Edit Multi-String

This window let you edit a multistring value, enter each string on a single line ending with Enter.
The last string must also be terminated with Enter.

Notes

- This version is based on the total size received from the registry, while multistring should be ended by 2 null caracters, it seems the data is sometimes bigger, using this method make sure we don't delete some more data that an application could use trating the data as binary.
- Data after an empty line is not displayed by Microsoft Windows CE Remote Registry Editor.
- Same note about file export, this application export all the data even what is stored after the 2 null caracters.

Edit Binary

This window let you edit a binary value (REG_BINARY and other types).
Binary values can contain about anything.
The data must be bytes in hexadecimal separated by spaces.
For exemple :
06 07 08 09 0A 0B 0C 0D 0E 0F 10 11

Edit DWORD

This window let you edit a DWORD value (REG_DWORD, REG_DWORD_LITTLE_ENDIAN).
A DWORD is a 32bit number that can contain any integer value between 0 and 4.294.967.295 (0x00000000 and 0xFFFFFFFF).
You can type in the new value using the input panel, or increment and decrement a value using the up and down buttons, the rocker switch or the spin buttons on the screen.

Find

This window let you find keys and values in the registry.
Enter the text you want to find in the Find what text box.
Narrows the search by specifying the text in which you want to search :
Keys search key names.
Values search value names.
Data search REG_SZ and REG_EXPAND_SZ values data.
Match whole string only searches for whole strings instead of seaching for your text inside longer strings.

Notes

The search is performed based on the real registry order, not on the alphabetical order you can see on the screen, because of that, it may sometimes find occurrences that may seems to be located before previous ones. Still, the whole registry will be searched if you let it search without changing the selected key between searches.
To search the whole registry, start every new search from "My Device" and tap Find Next until a message notifies you that the search is finished.

Editing registry (.reg) files

You can use a text editor to work with the .reg files you create by exporting, it must support ANSI for V4 and eVT files and Unicode for V5 files.
Only V5 files can be imported using PHM Registry Editor.
To delete a key from a .reg file, place an hyphen "-" in front of the key name, for exemple :
[-HKEY_LOCAL_MACHINE\Sample]
will delete the HKEY_LOCAL_MACHINE\Sample\ key and all it's values and subkeys.
For a value, use an hyphen "-" as the value's data :
"ValueName"=-
Will delete the ValueName value.
Use regedit /s <reg file> to silently import a registry file.

Known bugs and limitations

- It is not possible to import registry files (.reg) yet.