Code: Select all
[Filesystem]
Use=1
Data=.\JPE\
Code: Select all
RedirWFS=1
Code: Select all
AppWFS=1
In your example, the registry redirection is generic:
Code: Select all
[Registry]
Use=1
Data=.\JPE\jauntePE.reg
[RegistryExclude]
1=HKEY_LOCAL_MACHINE\Hardware
2=HKEY_LOCAL_MACHINE\Security
3=HKEY_LOCAL_MACHINE\System
4=HKEY_PERFORMANCE_DATA
5=HKEY_DYN_DATA
[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
It redirects ALL of the registry, EXCEPT the following keys:
HKEY_LOCAL_MACHINE\Hardware
HKEY_LOCAL_MACHINE\Security
HKEY_LOCAL_MACHINE\System
HKEY_PERFORMANCE_DATA
HKEY_DYN_DATA
In other words, the above keys are the only ones that are written to the real registry. This isn't very optimized, because your app may only use a simple key in Software\AppName most probably.
Then:
Code: Select all
[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
Now, let me walk you step-by-step through a simple .ini file so you can understand how to do it from 'scratch'. I'll ignore the [Redirection] section as it's understandable from the manual (you can read that, not very confusing). The only thing I'll stress out of that section is MemRegistry. Set it to some value that puts the registry in memory. 4 & 5 are read-only (i.e never written back to disk), 2 & 3 keep it in memory, but write it on application end to disk. 2 is text-mode, 3 is binary-mode (i.e how the .reg file stores the reg keys, in text or binary). Same for 4 & 5.
For example:
Code: Select all
MemRegistry=3
Now let's get to the actual registry redirection. You should think of JauntePE as redirecting the entire registry writes, by DEFAULT (i.e if you don't put anything in the .ini file). This section:
Code: Select all
[Registry]
Use=1
Data=.\JPE\jauntePE.reg
For example, if you want to place it one level above the current folder (..\ in Windows means one level above), and call that file "registry" WITHOUT any extension (just an example), you would put:
Code: Select all
[Registry]
Use=1
Data=..\registry
Now, like I said before, jauntePE by default redirects ALL registry usage. You want to redirect only a given key, let's call it HKEY_CURRENT_USER\Software\MyApp in this example.
First you have to tell JauntePE to exclude ALL the registry (i.e not to redirect ANYTHING). In effect this is like disabling registry redirection:
Code: Select all
[RegistryExclude]
1=*
Now, after they have all been excluded, we can include the ones we want back in. For example, to include HKEY_CURRENT_USER\Software\MyApp in the redirection (else why do we use jauntePE if we don't redirect anything ), use RegistryInclude:
Code: Select all
[RegistryInclude]
1=HKEY_CURRENT_USER\Software\MyApp
Code: Select all
[RegistryInclude]
1=HKEY_CURRENT_USER\Software\MyApp
2=HKEY_LOCAL_MACHINE\Software\MyApp
The .ini (without the [Launch] and [Redirection] sections, please look in the manual for those -- they have very many parameters you can tweak to your needs, and aren't hard to understand) looks like this:
Code: Select all
[Registry]
Use=1
Data=.\registry.reg
[RegistryExclude]
1=*
[RegistryInclude]
1=HKEY_CURRENT_USER\Software\MyApp
2=HKEY_LOCAL_MACHINE\Software\MyApp
This redirects only the two keys in the RegistryInclude section -- in effect, what we wanted and optimized
EXTRA: let's get into PortableRegExclude with a practical example. Suppose that this app of yours, MyApp, writes its settings to: HKEY_CURRENT_USER\Software\MyApp\Settings. It's ok, it's redirected as we have done above.
However, let's say that this app also writes the "recent documents list" into HKEY_CURRENT_USER\Software\MyApp\RecentList and you do NOT want this stored in your portable registry (and of course, not in the real registry either!).
Suppose you want to make this subkey (RecentList) read-only so that the app does NOT write to it, but allow it to write to "settings" if you change any of course. So, we've redirected the application's keys to our registry.reg, but it still writes it's "recent documents list" into that subkey.
We can tell jauntePE to Portably Exclude (so to speak) SOME of the ALREADY redirected keys/subkeys from being written to. We do this with [PortableRegExclude] (that's what it does). In this example, since we want the settings to be able to be written to (in our redirected registry.reg of course) but we don't want the "Recent Documents List" ever to be written to our registry (and neither the real registry), then we do the following:
Code: Select all
[PortableRegExclude]
1=HKEY_CURRENT_USER\Software\MyApp\Recent
Note that, in case you want by default JauntePE to exclude ALL of them from being written to, you use:
Code: Select all
[PortableRegExclude]
1=*
Code: Select all
[PortableRegExclude]
1=*
[PortableRegInclude]
1=HKEY_CURRENT_USER\Software\MyApp\Settings
EXCEPT the values in the PortableRegInclude, which in our case, is the Settings subkey. Therefore the above can be interpreted as: "JauntePE, none of the redirected registry keys should be written into the registry.reg file (i.e all of them are "scrapped" or "flushed into void"), EXCEPT the HKEY_CURRENT_USER\Software\MyApp\Settings".
On the other hand, with the previous example:
Code: Select all
[PortableRegExclude]
1=HKEY_CURRENT_USER\Software\MyApp\Recent
By default, all redirected keys are saved in registry.reg. You can make it IGNORE some keys and "scrap" them (i.e not 'save' them upon exit) by using PortableRegExclude.
Also RegistryIgnore is useful for ignoring the real registry -- this mostly avoids conflicts between your redirected registry app and the "real" installed app (if the machine has one).
So, with the above example in mind, and "scrapping" only the HKEY_CURRENT_USER\Software\MyApp\Recent key, the .ini (without the [Redirection] and [Launch] sections) would look just like this:
Code: Select all
[Registry]
Use=1
Data=.\registry.reg
[RegistryExclude]
1=*
[RegistryInclude]
1=HKEY_CURRENT_USER\Software\MyApp
2=HKEY_LOCAL_MACHINE\Software\MyApp
[RegistryIgnore]
1=HKEY_CURRENT_USER\Software\MyApp
2=HKEY_LOCAL_MACHINE\Software\MyApp
[PortableRegExclude]
1=HKEY_CURRENT_USER\Software\MyApp\Recent
Ok, I hope that clarified it, I have some problems with my comp right now (overheating for some weird reason) so I'll probably not be available soon or as frequently. I hope you understood it and good luck.
(filesystem redirection is different, a bit more complicated in my opinion, but is basically the SAME, except that you need a "SpecialFolders" section in addition to just excluding and including folders).