NOTE: Before running this example, you must first put a copy of the JPEPortable.exe in the Explorer directory and rename it to explorer_portable.exe. Make sure NOT to name it explorer.exe. It MUST be named explorer_portable.exe.

This example presents a number of portability options available through the use of the new InjectOnly capability, which gives you a way to apply the JauntePE runtime's features to an application's already running process or processes. This example is different from your normal use of a JauntePE portable launcher since no application is actually launched. Instead, when initially run, the example's explorer_portable executable finds all of the currently running "explorer" processes and then applies the JauntePE runtime to each one. This in turn, causes several things to occur.

First, since registry redirection is turned on, and the in-memory "no write" setting is in use, and the main Explorer-related registry path is redirected, any executables that are launched via Explorer are no longer tracked in the system registry via Explorer's FileExts, MRU, User Assist, and other similar data caches.

Second, since file system redirection is turned on, ?

Also, due to the use of the new ShellDocApp section, which allows you to associate your own application to a given file extension, either JauntePE distributed or JPEized portable applications are launched instead of the current system's explorer default application for the given file type.

This example also makes use of the new ChildExclude and ChildInclude sections as a way to have the JauntePE runtime's features applied only to any further created explorer processes.

The ini itself...


The Launch section

This section's settings are read by the JauntePE-built app launcher and each overrides its equivalent stored within the launcher executable file.

[Launch]
Path=%Windows%\%appname%.exe
JPERuntime=..\..\Runtime\jauntePE\def\jauntePE.dll
JPERuntimeIni=.\%appname%_jauntePE.ini
InjectOnly=1
RedirReg=1
RedirWFS=1
ExeDir=0

The rest of this file's sections are all JauntePE runtime ini sections and are read by the JauntePE runtime dll and again, used to override equivalent settings stored within the launcher executable file.


The Redirection section

The in-memory portable registry used in this example is a version that does not write changes out to the .reg file, ever. That version was chosen after the settings were initially changed to their preferred values and then saved off to the portable registry. Now, temporary changes can be made to the settings on a by-session basis without affecting the permanent, preferred values.

[Redirection]
RedirMisc=1
MemRegistry=4
FillRegistry=1
RegMerge=1
ExcludeAppDir=0
WFSMerge=1


The ChildExclude and ChildInclude sections

Since this example is for changing the way explorer behaves, there is no need to affect any of the applications that are launched from explorer, other than other instances of explorer itself.

[ChildExclude]
1=*

[ChildInclude]
1=%appname%.exe


The Registry section

There is no need for additional registry-related settings other than to turn on registry portablization and to tell the JauntePE runtime where the portable registry is located.

[Registry]
Use=1
Data=.\%appname%.reg


The Shell... sections

In this example, these sections are used to modify the behavior of Explorer with regards to its "most recently used" list (the Start Menu's Documents list), with regards to file deletions, and with regards to the launching of default applications via associated file extensions.

The ShellUsage section simply turns on the use of the ShellUsage plugin and its two main features.

The ShellDocApp section contains the entries that each associate a given file extension to the portable application executable that should be launched whenever you "activate" a file with that file extension within one of Explorer's windows (including the desktop.)

[ShellUsage]
Use=1
PreventMRU=1
PreventBinUse=1

[ShellDocApp]
.ini=..\Notepad\Normal2\notepad.exe
.log=..\Notepad\Normal2\notepad.exe
.reg=..\..\Toolbox\JPERegger.exe
.txt=..\Notepad\Normal2\notepad.exe
;
;.doc=%appdrive%\JPE Office 97\winword.exe
;.htm=%appdrive%\JPE Firefox 3.0\firefox.exe
;.html=%appdrive%\JPE Firefox 3.0\firefox.exe