Need help from JPE users for addition to the documentation.

Discuss anything related to JauntePE, the utlimate utility to help you tame non-portable applications. Share your experience about the apps that work with JauntePE, and the apps that don't.
Post Reply
Message
Author
User avatar
Firewrath
Posts: 321
Joined: Mon Aug 28, 2006 2:36 pm

Need help from JPE users for addition to the documentation.

#1 Post by Firewrath »

Ok, i plan on updating the zip file with some new document infromantion and a couple other things soon as i go through my old emails and check some things with JPE,

What i need to know, is what you all feel Needs to be explained, or needs to be explained better,

...yes, the "Why should i use the 'Updates are written immediately' button?" thing is going to be answered since its been asked about around here,

im Hoping to make it an FAQ type thing,
but that depends on what you all want to know, and what i can actually answer, :P

it might be a week, mebey two,
so thatll give you all time to think of things you want to see clarified or want to know about,

User avatar
Zach Thibeau
Posts: 251
Joined: Tue Nov 28, 2006 3:26 pm
Contact:

Well

#2 Post by Zach Thibeau »

Well I won't document anything for you but any html generated help pages I can compile them as a help file you know the .chm file ;)

User avatar
grannyGeek
Posts: 218
Joined: Mon Mar 26, 2007 10:54 pm

#3 Post by grannyGeek »

Great idea!
A FAQ sounds super! I know lots of this information is findable, but it is scattered around on the forum, in the readme's, etc.
If you are aiming it toward super-noobs like me, I hope you can incorporate some of those
like maybe ---

emphasize that the "xxxx_portable.exe" wrapper is required to be located in the same folder as the app executable.
(I, and I'm sure lots of other folks, use the workaround of converting a batch file to exe, but that's a little awkward sometimes, and I keep running into relative-path glitches)

More detailed information about Exclusions, why and when they might be needed, and reference to finding the lists in the JauntePE_JauntePE.ini ( :D )

clarify WHY and WHEN "keep portable registry in memory" is desirable

crownixx
Posts: 403
Joined: Sat May 12, 2007 6:26 am

#4 Post by crownixx »

owh, more to add

what is Modules?

what is the different [RegistryExclude] configurations between JauntePE_jauntePE.ini and regedit_jauntePE.ini?

redllar
Posts: 411
Joined: Thu Aug 03, 2006 7:52 pm
Contact:

#5 Post by redllar »

Firewrath, if you want I'd be willing to go over the answers once you've got the Q&A written, and fill in or correct where necessary. Then maybe you can edit my answers so that they make sense?

Or if you'd like we could just use this thread to answer the questions and you can create the Q&A doc from this?

Whatever you want, just let me know what I can do to help as I think this is a far better idea than me trying to brain-dump.

User avatar
Firewrath
Posts: 321
Joined: Mon Aug 28, 2006 2:36 pm

#6 Post by Firewrath »

redllar wrote: Or if you'd like we could just use this thread to answer the questions and you can create the Q&A doc from this?
Yeah, thats what i planned on doing,
seemed an easyer way and if i misunderstood something or someone thought something should be added, they can say it here instead of waiting between updates,

later after we get started alittle ill make an actually Q&A thread, with a link to it in the one ill have in the Doc.s,

Anyways,
on with it! :P

we'll get what we have so far,
(and redllar can correct me as i go, ...minus the questions ill leave to him, :P)
Ok, first the first one that i wanted to cover, seems to be a null point for now, but:

Why should i use the 'Updates are written immediately' button?
(And 'What does 'Keep portable registry in memory' do?)


Due to current JPE operation, this button should always be checked.
The idea behind this button is to give an option between Portable and HardDrive programs that are created through the wizard.

When making a portable program for use on a USB key, leaving the button unchecked (and keeping the 'Keep portable registry in memory' button selected.) would have kept the .reg file in RAM all the time, preventing writes to the USB stick every time the file is changed, and thus increasing the USB stick's 'life time'.

Checking the button would have made a write to the file every time it was changed by the program, like a normal settings file. This would be for the use of programs you planned to leave on your HardDrive.


(Hmm, ok,
one question i could reasonably and hopefully, correctly, answer, :P
ill try again, :P)


Why does the '<program>_portable.exe' have to be kept in the same folder as the original .exe file?

The '<program>_portable.exe' is basically (as far as i know,) just a .dll injector and not the actually program itself. It needs to be in the same folder to do a controlled run of the original program, injecting the jauntePE.dll and madCHook.dll into the program in order to hook into it to provide the actual file and registry redirection.


(...uhh, yeah, that sounds about right, :P)

ok, i think ill leave the 'exclusions' bit and crownixx's questions to redllar,
due to that it seems:
A) my info on modules is out of date with the newest version of JPE,
B) crownixx's second question deals with exclusions which could be better explained there.
And C) i honestly dont know enough about the registry to say Why they are different, other then it probably has to do with access that regedit needs to run, or something like that, :P

so, yeah, thats it from me till we get some new ones or something, :P

crownixx
Posts: 403
Joined: Sat May 12, 2007 6:26 am

#7 Post by crownixx »

ok, one more question please :D

In redllar's Examples readme,
First, when the JPE dll is injected and started within an
application's process, it goes looking for a settings ini
from which to load any redirection settings. The search
order and locations are as follows:

1st - In app exe dir: %appname%_jauntePE.ini
2nd - In app exe dir: JauntePE_jauntePE.ini
3th - In parent's data dir: %appname%_jauntePE.ini
4th - In parent's data dir: JauntePE_jauntePE.ini
5rd - In parent's ini dir: %appname%_jauntePE.ini
6th - In parent's ini dir: JauntePE_jauntePE.ini
7th - In JPE dll dir: %appname%_jauntePE.ini
8th - In JPE dll dir: JauntePE_jauntePE.ini
can explain more what is app exe dir, parent's data dir, JPE dll dir?

redllar
Posts: 411
Joined: Thu Aug 03, 2006 7:52 pm
Contact:

#8 Post by redllar »

Here's my answers to the above questions if I found that they differed from Firewraths, or for the ones that Firewrath didn't feel comfortable enough in answering. Thanks for doing this man, it's a really good idea.
Why should i use the 'Updates are written immediately' button?
(And 'What does 'Keep portable registry in memory' do?)
I guess you missed my post to crownixx about this. For any version prior to 020, the "Updates are written immediately" button should just be ignored. It doesn't matter whether it's selected or not, as it's the default mode for when the "Keep portable registry in memory" option is enabled. What it means is what it says, but with a qualifier. The qualifier is that I put in code to only write out changes to the portable registry. So even if the app requests that a value be written, it's checked against what's already there first. If the values are the same then the write doesn't occur.
Why does the '<program>_portable.exe' have to be kept in the same folder as the original .exe file?
Because the JPE-built portable launcher is stupid and assumes that's where the exe it's supposed to launch, is. Also because it currently has no other means to find the exe it's supposed to launch, assuming you didn't choose the "stuff exe into portable launcher" option when you built it.
What are Modules?
For JPE, Modules are the executables that are loaded into an app's process when the app is run. Ex.: metapad.exe, akrip32.dll, lame_enc.dll, msvcrt.dll, msvbvm60.dll, gdiplus.dll, comdlg32.dll, shell32.dll. The 3 broad categories of modules are app-specific, app-generic, and system supplied.
What is the difference between the JauntePE_jauntePE.ini and regedit_jauntePE.ini [RegistryExclude] configurations?
By default, the JPE runtime attempts to redirect everything, meaning it excludes nothing, includes everything, and ignores nothing. Since the JPE_jpe ini serves as the default JPE runtime ini when a JPE-launched app has no other ini to use in place of it, it was populated only with the set of registry excludes that I found, through testing, to either reduce performance or impact portability. For instance, it wouldn't make much since to carry around Explorer MountPoint information from computer to computer. And the use of this info, created on one computer and then used on other, could cause problems.

The regedit ini on the other hand is only for use with RegEdit. Since I already knew what registry key RegEdit used to store its settings in, it made since to exclude everything (that's what the "*" does) and then include back in only that key. This also means that any registry edits you make will actually be applied to the targeted registry and not be written to the portable registry instead. Which is what you use RegEdit to do. So the end result of the regedit ini is you get to take your RegEdit favorites and other settings with you from computer to computer, while still being able to make any other registry changes as necessary.
can explain more what is app exe dir, parent's data dir, JPE dll dir?
"app exe dir" is the directory where the running process's application's executable file resides.

"parent's data dir" is the directory that contains the running process's default JPE runtime ini. This directory is passed to it from its parent process. The parent process could be the JPE launchpad, a JPE-built portable launcher, or another JPE-ized application process, such as PStart.

"JPE dll dir" is the directory where the jauntePE.dll file, that was injected into the running process, resides.

Post Reply