These settings will help you portablize an application's registry usage and optimize an already portablized application's registry usage.

By default, all of the registry accesses made by an application are not redirected into a portable registry. The following sections allow you to modify that behavior.

There are several substitution tokens that may be used within any of the settings requiring a file system path or registry key.

Launched application related tokens are %appdrive%, e.g. H:, %appdir%, e.g. H:\Portables\Firefox, and %appname%, e.g. Firefox.

And environment variable names enclosed within percent signs may be used as well, such as %ComputerName% or %UserName%. You are responsible for ensuring that the environment variable is available on all versions of Windows on which the configuration ini will be used.


The [Registry] section


The [Redirection] section


The [RegistryExclude] section

In this section you specify the registry keys that you don't want to be portablized. The keys should be complete paths without a final backslash, i.e., like the ones you get out of RegEdit via its "Edit->Copy Key Name" command.

There are two ways to specify the section's contents. The first is to enter an ascending, consecutively numbered list of registry keys that you don't want to be portablized. The second is to enter 1=* as the only entry, which tells JauntePE to exclude all registry keys from being portablized.

You then optionally enter a list of registry keys that you do want to be portablized via the RegistryInclude section.

Here is an example that is used in the Normal2.ini configuration ini that portablizes all registry changes except for those made to and within the "low level" registry keys.

[RegistryExclude]
1=HKEY_LOCAL_MACHINE\Hardware
2=HKEY_LOCAL_MACHINE\Security
3=HKEY_LOCAL_MACHINE\System
4=HKEY_PERFORMANCE_DATA
5=HKEY_DYN_DATA


The [RegistryInclude] section

In this section you specify the registry keys that you want to be portablized. The keys should be complete paths without a final backslash, i.e., like the ones you get out of RegEdit via its "Edit->Copy Key Name" command. The section should contain an ascending, consecutively numbered list of registry keys.

Since all of the registry keys are portablized by default - once the Use setting has been turned on - you only make use of this section when you have 1=* as the only entry in the RegistryExclude section, or when you have subkeys of one or more of that section's keys that you want to be portablized.

Here is an example that only portablizes changes made to the current application's data, which are assumed, as is somewhat typical, to be kept within an HKCU\Software subkey.

[RegistryExclude]
1=*

[RegistryInclude]
1=HKEY_CURRENT_USER\Software\%appname%

Here is an example that doesn't portablize low level changes, portablizes changes made to the current user's non-Microsoft data, and also portablizes changes made to the settings for any Microsoft "applet," e.g. FreeCell, Paint, RegEdit, or WordPad. Changes to data stored in other often used Microsoft keys are not portablized, however, including any changes made within the Windows subkey.

[RegistryExclude]
1=HKEY_LOCAL_MACHINE\Hardware
2=HKEY_LOCAL_MACHINE\Security
3=HKEY_LOCAL_MACHINE\System
4=HKEY_PERFORMANCE_DATA
5=HKEY_DYN_DATA
6=HKEY_CURRENT_USER\Software\Microsoft

[RegistryInclude]
1=HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets


The [RegistryIgnore] section

In this section you specify the registry keys that you want to hide from the application as existing in the system registry. The keys should be complete paths without a final backslash, i.e., like the ones you get out of RegEdit via its "Edit->Copy Key Name" command. The section should contain an ascending, consecutively numbered list of registry keys.

This list of registry keys is used by JauntePE only after it has been determined that a given key is to be portablized, and that the key does not exist in the portable registry. Then, if the given key is a "RegistryIgnore" key, the application is told that the key does not exist, even if it does exist in the system registry. In practice, putting keys into this section prevents an application from using the contents of any like system registry keys.

Here is an example that prevents an application from using any settings from a "normally installed" version of the same application. This is handy if you are portably running an application for the first time and you want the portable registry populated with the application's default settings as opposed to those it might otherwise find in the system registry. It is also handy for those applications that indicate default usage by not having the setting stored in the registry. The application's data is assumed, as is somewhat typical, to be kept within an HKCU\Software subkey.

[RegistryExclude]
1=*

[RegistryInclude]
1=HKEY_CURRENT_USER\Software\%appname%

[RegistryIgnore]
1=HKEY_CURRENT_USER\Software\%appname%


The [PortableRegExclude] section

In this section you specify the portablized registry keys that you don't want to be stored in the portable registry. They are instead treated as temporary and only kept within the in-memory registry and never written to disk. The keys should be complete paths without a final backslash, i.e., like the ones you get out of RegEdit via its "Edit->Copy Key Name" command.

IMPORTANT NOTE: This section is only utilized if the in-memory registry is in use, i.e., if MemRegistry is greater than 0.

There are two ways to specify the section's contents. The first is to enter an ascending, consecutively numbered list of portablized registry keys that you don't want to be portably stored. The second is to enter 1=* as the only entry, which tells JauntePE to exclude all portablized registry keys from being portably stored.

You then optionally enter a list of portablized registry keys that you do want to be portably stored via the PortableRegInclude section.

Here is an example that is used in the Normal2.ini configuration ini that keeps changes to most of the unwanted Microsoft registry data from being stored in the portable registry.

[PortableRegExclude]
1=HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer
2=HKEY_CURRENT_USER\Software\Microsoft\Windows
3=HKEY_CURRENT_USER\Software\Microsoft\Windows NT


The [PortableRegInclude] section

In this section you specify the portablized registry keys that you want to be portably stored. The keys should be complete paths without a final backslash, i.e., like the ones you get out of RegEdit via its "Edit->Copy Key Name" command. The section should contain an ascending, consecutively numbered list of portablized registry keys.

IMPORTANT NOTE: This section is only utilized if the in-memory registry is in use, i.e., if MemRegistry is greater than 0.

Since all of the portablized registry keys are portably stored by default, you only make use of this section when you have 1=* as the only entry in the PortableRegExclude section, or when you have subkeys of one or more of that section's keys that you want to be portably stored.

Here is an example that is used in the Normal2.ini configuration ini that keeps changes to most of the unwanted Microsoft registry data from being stored in the portable registry, while allowing changes to the Microsoft "applets" data to be portably stored.

[PortableRegExclude]
1=HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer
2=HKEY_CURRENT_USER\Software\Microsoft\Windows
3=HKEY_CURRENT_USER\Software\Microsoft\Windows NT

[PortableRegInclude]
1=HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets


The [RegistryTokenExclude] section

In this section you specify the portablized registry keys that you don't want to be tokenizable in the portable registry. The keys should be complete paths without a final backslash, i.e., like the ones you get out of RegEdit via its "Edit->Copy Key Name" command.

IMPORTANT NOTE: This section is only utilized if portable registry stored special folder path tokenization is in use, i.e., if RegTokens is greater than 0.

There are two ways to specify the section's contents. The first is to enter an ascending, consecutively numbered list of portablized registry keys that you don't want to be tokenizable. The second is to enter 1=* as the only entry, which tells JauntePE to exclude all portablized registry keys from being tokenizable.

You then optionally enter a list of portablized registry keys that you do want to be tokenizable via the RegistryTokenInclude section.

Here is an example that is used to tokenize all special folder paths except those contained within any "classes" or "system" registry keys, which may contain system specific paths that you may not want to be tokenized.

[RegistryTokenExclude]
1=HKEY_CLASSES_ROOT
2=HKEY_LOCAL_MACHINE


The [RegistryTokenInclude] section

In this section you specify the portablized registry keys that you want to be tokenizable in the portable registry. The keys should be complete paths without a final backslash, i.e., like the ones you get out of RegEdit via its "Edit->Copy Key Name" command. (There is a "special case" exception to this requirement that is given in the second example below.) The section should contain an ascending, consecutively numbered list of portablized registry keys.

IMPORTANT NOTE: This section is only utilized if portable registry stored special folder path tokenization is in use, i.e., if RegTokens is greater than 0.

Since all of the portablized registry keys are tokenizable by default, you only make use of this section when you have 1=* as the only entry in the RegistryTokenExclude section, or when you have subkeys of one or more of that section's keys that you want to be tokenizable.

Here is an example that is used to tokenize all special folder paths stored for use in the Microsoft Wordpad application's "most recently used files" list.

[RegistryTokenExclude]
1=*

[RegistryTokenInclude]
1=HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\Wordpad\Recent File List

Here is an example that is used to tokenize the first 4 special folder paths stored by the MetaPad application's "most recently used files" list, while leaving all other paths alone. This example makes use of "special case" registry paths, which consist of a normal path followed by a backslash followed by a quoted value name (except for the default value, which is represented with just the @ character.) These registry paths are useful if the special folder paths you wish to tokenize are stored in values under a registry key that also contains other values holding special folder paths that you don't wish to tokenize.

[RegistryTokenExclude]
1=*

[RegistryTokenInclude]
1=HKEY_CURRENT_USER\Software\MetaPad\"mru_1"
2=HKEY_CURRENT_USER\Software\MetaPad\"mru_2"
3=HKEY_CURRENT_USER\Software\MetaPad\"mru_3"
4=HKEY_CURRENT_USER\Software\MetaPad\"mru_4"