mark rose wrote:
By the way, when I edit the JPE.ini file does it matter where I add new values and strings or can they be added at the very end of the list?
They need to be added into the respective sections (the stuff between the
[] brackets). Also, they need to be ordered consecutively, for example:
Code:
[RegistryInclude]
1=Key1
2=Key2
3=Key3
(note the "1=", "2=", and "3=" at the beginning of the line).
mark rose wrote:
And what does this string do/when should I edit it?
[PortableRegInclude]
1=HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets
I assume the .ini has some
PortableRegExclude on a key that is probably one level above that and "includes" it (subkeys so to speak), or maybe it is
1=*, right?
PortableRegExclude tells the
already redirected registry keys (i.e which are already redirected by jauntePE!) to act as "temporary" keys, or maybe read-only would be simpler to understand.
PortableRegInclude, as per your example, tells the "excluded" ones to NOT act as temporary/read-only. By default, NONE is read-only (unless you make the entire .reg file read-only), so there's no need to use
PortableRegInclude unless you excluded some keys.
The above example of yours looks into Windows Applets (windows programs/accessories; stuff that comes with Windows, nothing else). I assume it is meant to treat all other windows stuff as temporary (that is, just "read" from the registry but NEVER written to, not even in the portablized registry), and only treat the applets themselves as "write-able" so to speak. (maybe to keep their settings and such, which might be modified depending on user preferences

).
Normally you would use
PortableRegInclude (if you used Exclude before to exclude keys) to include those that you want the app to change (in the portablized registry btw! not the real registry). For example, settings.
If you don't want some keys to be modified, not even in the portablized registry (i.e make them read-only), then use
PortableRegExclude on them.
In fact this is the closest analogy I could think of: PortableRegExclude is used to make keys that are already redirected read-only. Remember the app will itself modify these read-only keys when it runs (they are placed in its memory!), but they will NEVER be written to disk (not even portablized registry).
Other explanation: PortableRegExclude tells which keys that are ALREADY redirected must never be written to disk (but only managed in memory). They can be "read" of course, from disk (disk = the app's redirected registry). So in effect, they are read-only.

If you redirect the keys "A" and "B" and "C" and you want "B" to be read-only, use:
Code:
[PortableRegExclude]
1=B
(of course this is just an example, 'B' isn't really a reg key

Now, if you want to make them all read-only, except "C", you can use so:
Code:
[PortableRegExclude]
1=*
[PortableRegInclude]
1=C
The first one tells to make them ALL read-only, and then you tell which ones to make write-able (in this case, "C"). Kind of like the opposite of what was above (in the former example, you start with all write-able and tell which ones to be read-only; in the latter, you start with all read-only and tell which ones to be write-able).
Notice that if you have a key "D" that is NOT redirected (i.e it is written to the real registry), then PortableRegExclude won't touch it, as far as I know.