Can someone show me how to use JPE?

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.
Message
Author
SlowLearner
Posts: 92
Joined: Wed Aug 08, 2007 3:58 pm

No worries

#46 Post by SlowLearner »

Hi

If it turns out that it isn't do-able, then don't worry about it.

I am grateful for the help you have already given me (that goes to you aswell local).

You've got me started - and I can see many sleepless nights ahead, struggling with portablisation ;)

Thank you

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

#47 Post by Firewrath »

Just a quick note on the whole programing thing bit again,
IF you guys are getting into C++ and after youve learned abit of it where you want to get into windows programing, you might want to check out:

http://wxdsgn.sourceforge.net/index.php

its a GUI creator, kinda like MSVC++ but for Dev-C++,

User avatar
Local
Posts: 238
Joined: Fri Aug 03, 2007 3:48 am

#48 Post by Local »

Slowlearner, No problem at all, I can't do much to help but I'll do what I can when I can.

Firewrath, Thanks for that.
I hope one day something will come of this and I can make something useful :)

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

#49 Post by redllar »

If it turns out that it isn't do-able, then don't worry about it.
It took me several sessions with FDM but I finally have it. I'll keep you posted.

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

#50 Post by Firewrath »

Just a 'btw' here,
im downloading a newer version of wxDev-C++ just to fool around with sometime, so i uninstalled the old one, deleted the files, etc,

The copyed my Dev-C++ to my C: drive, JPE'd it, and rebuilt my cache,
this time it worked fine, so idk why it was caching my old wxDev header files the last few times, O_o

Also, not to put JPE out of work, ;)
but my JPE'd Dev-C++ showed no registry changes, and only the 'app data' DevC folder added, which can be changed as explained in the TPFC database, (dont know if that works for wxDev or not though, O_o)
so yeah, as redllar said, you dont need JPE for Dev-C++,
(unless we get the encryption drives working and you want to hide your code, ;))

...i just wanted to try out that cache thing, :P

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

#51 Post by redllar »

Hey SlowLearner, just wanted to give you an update on JPEizing TWE.

I was able to successfully install it, which was a pain in-and-of-itself since it even updated the MSI installer plus all sorts of other system-related stuff.

But anyway, I then ran it through JPE's discovery mode. It was a bit weird because apparently all twe.exe does is launch an overlay executable. That's something I need to fix in JPE right there, so thanks. I went ahead and let the app do its thing and after I closed it down I then had a really large discovery ini due to the app's VB origins and liberal use of OCX and COM controls. From that I was able to get what I think is the necessary data extracted from the registry into a 295KB .reg!

One important thing I noticed from the registry data is that the app threw most of its control executables into the Program Files\Common directory. So that may be why you haven't had any luck JPEizing it from the app directory copy you made.

That's it for now. I'll pick up on it tomorrow and deal with the file system redirection side of things and then see if I can get the app to run from a portable directory.

One final thing though. How portable do you want this thing? It uses a number of system-related stuff, including the jet database engine, the VB runtime, IE components, and, from what I saw, components of the MSI installer as well. Is it okay to assume that stuff is already installed on the computers you want to run it portably on? Because getting that sort of stuff to work portably is going to take a lot more work and time. Probably more than I have to give.

SlowLearner
Posts: 92
Joined: Wed Aug 08, 2007 3:58 pm

Thanks

#52 Post by SlowLearner »

Hi redllar
How portable do you want this thing?
I am just grateful that you are even having a go, I can't believe how much time you have given to helping and training me.

Thank you

SlowLearner
Posts: 92
Joined: Wed Aug 08, 2007 3:58 pm

Not sure if sent - in my outbox but not my sentbox

#53 Post by SlowLearner »

Thank you redllar

I am sorry that I am not more proficient - I tried to follow your instructions and think I have the file directory exactly as you describe it (although my version has "system32" folder instead of "system" folder).
o TWEportable\Windows\System


However - I can not "Discover" the registry

I drag the "twe28126.exe" onto the JPE Launcher - then right click it and selct "Launch", but get the error:

1152: Error extracting

Sorry
You'll need to build this yourself (via JPE's Discovery mode) or I can email mine to you.
PS - When I do get the registry file, should it go in this folder?
TWEportable\Files\ProgramFiles\ThinkWave\ThinkWave Educator\Registry
or
TWEportable\Files\ProgramFiles\ThinkWave\ThinkWave Educator

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

Re: Not sure if sent - in my outbox but not my sentbox

#54 Post by redllar »

I tried to follow your instructions and think I have the file directory exactly as you describe it (although my version has "system32" folder instead of "system" folder).
o TWEportable\Windows\System
Actually, it needs to be TWEportable\Files\Windows\System. It doesn't need to match up with your pc's system folder. It needs to match up with the [SpecialFolders] path that's in the JPE ini that's in the TWEportable directory.
However - I can not "Discover" the registry

I drag the "twe28126.exe" onto the JPE Launcher - then right click it and selct "Launch", but get the error:

1152: Error extracting
Don't try and run the installer via JPE. We already tried that and it won't work. What we're trying to do now is extract the registry entries that TWE itself uses.

So you need to run the installed twe.exe (not the TWEportable one) with JPE's discovery mode. Normally this is located at "C:\Program Files\ThinkWave\ThinkWave Educator\twe.exe". So that's the exe that you need to drag and drop onto the JPE launcher. Then right click it and select "Discover Registry Usage".

When you do this, read the text on the dialog box and then click OK. The "JauntePE - Registry Usage Discovery" dialog box will then immediately pop up. Close it down by selecting Cancel and then wait for the TWE main window to show up. When it does, close it down and then use your file manager to browse to the JPE home directory. In there you should find a "jauntePE_discovery.ini" file. It should be pretty big if everything got captured right. Once you have that post back here and I'll give you further instructions on how to use it to extract the needed registry entries.
PS - When I do get the registry file, should it go in this folder?
TWEportable\Files\ProgramFiles\ThinkWave\ThinkWave Educator\Registry
or
TWEportable\Files\ProgramFiles\ThinkWave\ThinkWave Educator
Actually, it will need to go into TWEportable. That's because the JPE ini that's in the "TWEportable\Files\ProgramFiles\ThinkWave\ThinkWave Educator" directory points back to the "TWEportable" directory's JPE ini, and that ini has a [Registry]Data=.\JauntePE_jauntePE.reg line in it. But don't worry about that yet. One step at a time. You still need to get the .reg file built first.

SlowLearner
Posts: 92
Joined: Wed Aug 08, 2007 3:58 pm

All went well

#55 Post by SlowLearner »

Hi redllar

I followed the instructions - and everything worked as you sais it would :D
It should be pretty big if everything got captured right.
It is 946 lines (73k) I don't know if that sounds about right.

What next?

Thank you

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

#56 Post by redllar »

Hey, I'm glad the discovery mode worked this time. That size is about 20KB smaller than the one I got generated here, but maybe that's all you need from your system.

What's next is a bit tricky since twe.exe is just a launcher for the overlay file. What you need to do is to make the jauntePE_discovery.ini file read-only so that it doesn't get overwritten. It'd probably also be a good idea to go ahead and make a copy and name it accordingly, just in case.

You then need to re-run TWE in discovery mode one more time. There's a bug in the jpe dll you have that will either crash TWE (or do nothing) when the jpe discovery ini can't be modified. In any event, close down TWE if its main window pops up.

When the JPE "JauntePE - Registry Usage Discovery" dialog box pops up this time, don't close it down. What you want to do with it this time is use it to get the necessary registry entries out of the system registry and into the JPE portable registry for use with TWE.

What you should see this time, I hope, is a list of several modules in the modules list, with the twe.release.ovl module already selected. To give you an idea, I have 50 modules in my TWE discovery ini module list here. Try slowly cycling through the module list and take a look at the listbox below it to see what "pops up." These are the registry keys that got accessed in some way by the currently selected module. Cycle the module list to the empty (top) entry and you should see all of the accessed registry keys at once. Assuming JPE is able to capture all that an app does, this list would be equivalent to having run RegShot while you were running the app.

As you may have noticed by now, there are a lot of registry keys. The ones we're interested in are the ones that we need that are specific to making TWE portable. Unfortunately, TWE is quite modularized in its coding, so, as you may also have noticed, the twe.release.ovl module didn't access any registry keys. So what you're going to have to do is "wade" through the key list in order to find and select the right ones.

Before I go any further though, we need to figure out if you have captured enough of the registry usage in order to create a good TWE portable .reg. To do that, take the following steps:

1) Type inprocserver32 into the Filter field
2) Set Module to the empty (top) entry
3) Make sure that the Everything button is selected
4) Count the number of registry keys in the listbox

What I discovered is that you need a set of 53 of these types of registry entries in order for a portablized TWE to run correctly after it has been uninstalled. If you don't have 53 or more of these entries then you'll need to rerun TWE (make sure to un-read-only the discovery ini first) in discovery mode and play around enough with its options and settings dialog boxes to get the additional entries created. Actually using it to do some "real" work couldn't hurt either. Then proceed again from the first of this post and recount those types of registry entries.

So, count those entries and if you have 53 or more post back here and we'll go from there. If you don't have the required number then you'll need to decide whether you want to do it the easy way and have me send you my discovery ini or do it the hard way and try and get the discovery ini yourself. There are other ways to getting the required keys into the discovery ini but they require manually editing it, so it would be a tedious process to say the least.

BTW, in case it's not obvious, you can go ahead and close down JPE as well when you're done poking around with the discovered registry usage dialog box. I'll try and check back for your post as often as possible. But we can easily get back to the point where we left off so there's no sense in leaving your computer running just for me.

SlowLearner
Posts: 92
Joined: Wed Aug 08, 2007 3:58 pm

Sorry to take all your time

#57 Post by SlowLearner »

Hi redllar

I've tried it a few times, but can't get any further than:
What you should see this time, I hope, is a list of several modules in the modules list, with the twe.release.ovl module already selected
My "JauntePE - Registry Usage Discovery" dialog box has noting in it.
It is completely empty, and doesn't change if I click any of the boxes or buttons.

Sorry to be such a pain

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

#58 Post by redllar »

My "JauntePE - Registry Usage Discovery" dialog box has noting in it.
It is completely empty, and doesn't change if I click any of the boxes or buttons.
Oh, that's right. You don't have the jpe dll with the discovery mode fix in it for MT apps. If you're willing, open up the discovery ini for editing, and post the first lines of it here. If you could paste the lines from the top to the end of the [RegModules] section, I'd appreciate it. If there's a 0= entry in there without any module name, then that's the problem. We need to give that a bogus name. Here's an example of what I'd like you to post. This is from my own twe-made discovery ini:

Code: Select all

[RegKey]
HKEY_CLASSES_ROOT=MACHINE\Software\CLASSES
HKEY_CURRENT_USER=USER\S-1-5-21-1078081533-839522115-854245398-1000
HKEY_CURRENT_CONFIG=MACHINE\SYSTEM\ControlSet001\Hardware Profiles\0001
[RegModules]
*=twe.release.ovl
0=<unknown>
1=advapi32.dll
2=appguard.dll
3=clbcatq.dll
4=comctl32.dll
5=comdlg32.ocx
6=comsvcs.dll
7=crpe32.dll
8=cscui.dll
9=dnsapi.dll
10=igultragrid20.ocx
11=kernel32.dll
12=madchook.dll
13=mfc40.dll
14=mfc42.dll
15=msado15.dll
16=msadrh15.dll
17=mscomctl.ocx
18=msdart.dll
19=msdtcprx.dll
20=msi.dll
21=msjet40.dll
22=msjetoledb40.dll
23=msjtes40.dll
24=msmapi32.ocx
25=msvbvm60.dll
26=msvcrt.dll
27=msxml4.dll
28=mtxclu.dll
29=ole32.dll
30=oleaut32.dll
31=oledb32.dll
32=oledlg.dll
33=riched20.dll
34=richtx32.ocx
35=rpcrt4.dll
36=rsabase.dll
37=scriptinghelper.dll
38=shdocvw.dll
39=shell32.dll
40=shlwapi.dll
41=twe.release.ovl
42=txfaux.dll
43=user32.dll
44=vbajet32.dll
45=wdmaud.drv
46=wininet.dll
47=winmm.dll
48=ws2_32.dll
49=wspell.ocx

SlowLearner
Posts: 92
Joined: Wed Aug 08, 2007 3:58 pm

I'm glad it's not me :D

#59 Post by SlowLearner »

Hi redllar

Here are the first few lines:

Code: Select all

[RegKey]
HKEY_CLASSES_ROOT=MACHINE\SOFTWARE\Classes
HKEY_CURRENT_USER=USER\S-1-5-21-606747145-725345543-1854096250-1001
HKEY_CURRENT_CONFIG=MACHINE\SYSTEM\ControlSet001\Hardware Profiles\0001
[RegModules]
*=twe.release.ovl
0=
[RegCreate\]
0=HKEY_CURRENT_CONFIG\Software\Microsoft\windows\CurrentVersion\Internet Settings
1=HKEY_CURRENT_USER\Software\Macromedia\FlashPlayer
2=HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Security\P3Global
3=HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Security\P3Sites
4=HKEY_CURRENT_USER\Software\Microsoft\Multimedia\Audio Compression Manager\
5=HKEY_CURRENT_USER\Software\Microsoft\Multimedia\Audio Compression Manager\MSACM
6=HKEY_CURRENT_USER\Software\Microsoft\Multimedia\Audio Compression Manager\Priority v4.00
7=HKEY_CURRENT_USER\Software\Microsoft\Multimedia\Audio
8=HKEY_CURRENT_USER\Software\Microsoft\Visual Basic\6.0
9=HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Network\Location Awareness
10=HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
It doesn't look like yours - it goes straight from RegModules into RegCreate

It continues until it reaches:

Code: Select all

1196=HKEY_UNKNOWN
1197=HKEY_USERS
1198=HKEY_USERS\S-1-5-21-606747145-725345543-1854096250-1001
1199=HKEY_USERS\S-1-5-21-606747145-725345543-1854096250-1001\Software\Microsoft\Installer\Features\FF7B009C999E5D1488E7259ED6E957C4
1200=HKEY_USERS\S-1-5-21-606747145-725345543-1854096250-1001\Software\Microsoft\Installer\Products\FF7B009C999E5D1488E7259ED6E957C4
[RegModify\]
0=HKEY_CURRENT_USER\Software\Macromedia\FlashPlayer
1=HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\LowRegistry
2=HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\E
3=HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\R
Then later...

Code: Select all

17=HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Hardware Profiles\0001\Software\Microsoft\windows\CurrentVersion\Internet Settings
[WFSUsage\]
0=\\.\MountPointManager
1=\\.\PIPE\lsarpc
2=\\.\PIPE\ROUTER
and it finishes with:

Code: Select all

217=C:\WINDOWS\win.ini
218=C:\WINDOWS\WindowsShell.manifest
219=C:\WINDOWS\WinSxS\x86_Microsoft.MSXML2_6bd6b9abf345378f_4.1.0.0_x-ww_b319d8da\
220=C:\WINDOWS\WinSxS\x86_Microsoft.MSXML2_6bd6b9abf345378f_4.1.0.0_x-ww_b319d8da\msxml4.dll
221=C:\WINDOWS\WinSxS\x86_Microsoft.MSXML2R_6bd6b9abf345378f_4.1.0.0_x-ww_29c3ad6a\
222=C:\WINDOWS\WinSxS\x86_Microsoft.MSXML2R_6bd6b9abf345378f_4.1.0.0_x-ww_29c3ad6a\msxml4r.dll
223=CLBCATQ.DLL
224=comctl32.dll
225=crpe32.dll
226=crypt32.dll
227=ddraw.dll
228=DNSAPI.dll
229=expsrv.dll
230=gdi32
231=hnetcfg.dll
232=IEFRAME.dll
233=iphlpapi.dll
234=kernel32.dll
235=kernel32
236=midimap.dll
237=MLANG.dll
238=MPRAPI.dll
239=msacm32.drv
240=mshtml.dll
241=msi.dll
242=msimg32.dll
243=MSVBVM60.DLL
244=NETAPI32.dll
245=ole32.dll
246=OLE32
247=OLEAUT32.DLL
248=OLEPRO32.DLL
249=rasadhlp.dll
250=RASAPI32.dll
251=RASMAN.DLL
252=RichEd32.DLL
253=RTUTILS.DLL
254=secur32.dll
255=sensapi.dll
256=setupapi.dll
257=shell32.dll
258=SXS.DLL
259=urlmon.dll
260=user32.dll
261=user32
262=USERENV.dll
263=VBAJET32.DLL
264=version.dll
265=wdmaud.drv
266=WINHELP.INI
267=wininet.dll
268=winmm.dll
269=WINTRUST.dll
270=WS2_32.dll
271=ws2_32
272=WSOCK32.DLL
273=xpsp2res.dll
274=xpsp3res.dll
I hope this means something to you :D

Thank you

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

#60 Post by redllar »

I hope this means something to you
Yeah, it means that JPE is CRAP!!!!!

Actually, I think I fixed that bug here. It's hard to tell though because I've never really experienced that sort of thing. That's the same thing that grannyGeek gets.

We'll just have to wait until I get the next version out. It'll be a bit yet, but hopefully soon.

Thanks for hanging in there on this. In the meantime, when I get the chance I'm going to take my portable TWE package and see if it'll run on a friend's computer and report back to you what I find.

Post Reply