7-Zip Portable [JPE] -complete-

Share, discuss and debug ready-made JauntePE launchers for non-portable applications.
Message
Author
crownixx
Posts: 403
Joined: Sat May 12, 2007 6:26 am

7-Zip Portable [JPE] -complete-

#1 Post by crownixx »

Application: 7-Zip
Category: Files - Compression/Decompression
Description: 7-Zip is a file archiver with a high compression ratio

Download 7-Zip Portable [JPE] (2.06 MB)

Release Notes:
7-Zip Portable [JPE] is a package for 7-Zip that is optimized for portable usage. It is completely different from other portable version because it is powered by Redllar's JauntePE virtualization software. Some features that not available in other version as follows:
  • virtualized completely the 7-zip registry usage, thus there will be zero possibility the registry left behind in the event of application or even Windows crash.
  • the virtualized registry "In-memory" function at runtime will make it perform faster and extend the life of your USB key
  • Easily update to newer version of 7-Zip by yourself. (for XP user only due to jauntePE limitation in Vista)
  • identify the archieve file with it's own 7zip icon inside the 7z File Manager (work even in limited privillage)
    Image
  • Portable file assosiation. Assosiate any file with any portable application through ShellDocApp Configure.exe. Then any double-click on the file inside the 7z File Manager will be quickly redirect to your favorite portable application according to your configuration.
    Image
The package contains
  1. JauntePE portable launcher (0.3.0 Alpha N.Build 19)
  2. jauntePE.dll lrg (0.3.0 Alpha N.Build 19)
  3. 7-Zip 4.65
If there is a latest version of 7-Zip, i will not update this portable package simply because you can use the portable update feature
Last edited by crownixx on Tue Mar 03, 2009 10:19 pm, edited 12 times in total.

User avatar
m^(2)
Posts: 890
Joined: Sat Mar 31, 2007 2:38 am
Location: Kce,PL
Contact:

Re: [Launcher+installer] 7-Zip JPE

#2 Post by m^(2) »

crownixx wrote:I think i can distribute the installer since it is open source.
No. You can, because it's LGPL.

I suggest to point to the official 7zip site. The PA.com version is outdated.

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

#3 Post by crownixx »

Thanks m^(2) for correcting me.

No, the 2nd package is really meant for PA.com version. The reason for the 2nd package is that the step is more easy, already UPX compressed and in small size and the most important is for vista user. The JPE-Setup wont work in vista environment.
http://portablefreeware.com/forums/view ... 5295#15295

User avatar
m^(2)
Posts: 890
Joined: Sat Mar 31, 2007 2:38 am
Location: Kce,PL
Contact:

#4 Post by m^(2) »

crownixx wrote:Thanks m^(2) for correcting me.

No, the 2nd package is really meant for PA.com version. The reason for the 2nd package is that the step is more easy, already UPX compressed and in small size and the most important is for vista user. The JPE-Setup wont work in vista environment.
http://portablefreeware.com/forums/view ... 5295#15295
So how about making a full package, unpack and use?
It's LGPL, you can do this. And 4.62 is a really nice update as it's faster and stronger at the same time.
I'd really prefer to have smaller archives than smaller archives. :P

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

#5 Post by crownixx »

m^(2) wrote: So how about making a full package, unpack and use?
It's LGPL, you can do this. And 4.62 is a really nice update as it's faster and stronger at the same time.
Ok then, i'll update my package later when i had a time.

User avatar
m^(2)
Posts: 890
Joined: Sat Mar 31, 2007 2:38 am
Location: Kce,PL
Contact:

#6 Post by m^(2) »

crownixx wrote:
m^(2) wrote: So how about making a full package, unpack and use?
It's LGPL, you can do this. And 4.62 is a really nice update as it's faster and stronger at the same time.
Ok then, i'll update my package later when i had a time.
Thanks. :)

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

#7 Post by crownixx »

Update the package

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

#8 Post by crownixx »

I have update to new version 7-zip

It is good to separate between application folder with data folder as always been practice by portable maker before, for easy backup data. Thus, i made small modification to Portable install config ini to override the default path for ProgramFiles special folder

Code: Select all

[SpecialFolders]
38=..\App\ProgramFiles
This way, during the Portable Setup, 7-Zip will be place in App folder while its data (the portable registry) will be place in JPE folder

User avatar
Lupo73
Posts: 1012
Joined: Mon Mar 19, 2007 8:55 am
Location: Italy
Contact:

#9 Post by Lupo73 »

Is it possible to add the support of shell features temporarily? Adding right-click commands will be a very useful feature for this portable application..

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

#10 Post by crownixx »

Lupo73 wrote:Is it possible to add the support of shell features temporarily? Adding right-click commands will be a very useful feature for this portable application..
Good question..
The answer is..yes, it is possible.

Theory*
Shell integration function is depend on system explorer shell. And system explorer shell is from the explorer.exe. In our situation, the 7-zip registry now is virtualized and not in the system. Thus in theory, to have the 7-zip shell integration work we must "tell" the explorer.exe that the virtual 7-zip registry is exist. This can be done if the explorer.exe is virtualized by jauntePE too. So, the setting that mybe we could use is "InjectOnly=1". Now, i never attempt this theory yet so i'll post on the finding later

*correct me if i'm wrong with the underline informations

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

#11 Post by crownixx »

Eureka!!!
The theory...it works :D
I able to make the 7-zip shell integration work in portable. I'll not post the application yet. Try not to rush here because i would like to do more study and experiment so that i could make the right config settings

There is a potential situation here where we might forget to uninject back the explorer.exe from redirection because we only have the dialog box identification during start up but there is no other identification while we running the injected explorer.exe. But i could make an autoit launcher that sit at tray as a identification that we still running in the injected explorer.exe. Should i create the autoit launcher or not?

User avatar
m^(2)
Posts: 890
Joined: Sat Mar 31, 2007 2:38 am
Location: Kce,PL
Contact:

#12 Post by m^(2) »

How does it work?
Does it inject running explorer, or restart it?
What does user have to do to close it? Restart again?
Does it work with explorer only or with other tools too? I guess it OK for injected explorer / 7z descendants?

User avatar
Checker
Posts: 1628
Joined: Wed Jun 20, 2007 1:00 pm
Location: Ingolstadt [DE]

#13 Post by Checker »

...

Edit: Deleted, sorry :oops:
Last edited by Checker on Fri Jan 16, 2009 5:20 am, edited 1 time in total.

User avatar
Kranor
Posts: 120
Joined: Sun Jan 14, 2007 7:15 am
Location: uk

#14 Post by Kranor »

Im afraid that the PortableApps definition of portable is far differant than any JPE users. In fact I would say that Portable Apps and Mr Haller are dirty words as far as most of us are concerned. Please Don't mention That site in this discussion.

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

#15 Post by crownixx »

m^(2) wrote:How does it work?
Does it inject running explorer, or restart it?
What does user have to do to close it? Restart again?
Does it work with explorer only or with other tools too? I guess it OK for injected explorer / 7z descendants?
Lets start again with the theory
1. Shell integration function is depend on system explorer shell. And system explorer shell is from the explorer.exe
2. Thus to portablized the shell extension, we need to portablized explorer.exe. Lets take 7-Zip as our example
3. 7-Zip is already portablized and it have its virtual registry name 7-Zip.reg
4. Normal explorer.exe can't "see" the virtual 7-Zip.reg BUT we can make portablized explorer.exe "see" the virtual 7-Zip.reg.
6. If portablized explorer.exe can "see" the virtual 7-Zip.reg, thus we can have portable 7-Zip shell extension

In order to portablized explorer.exe, we need to use "InjectOnly=1" setting because the explorer.exe is already running in our system. You don't need to kill the normal explorer.exe in order to run the portablized explorer.exe. The "InjectOnly" setting can also be apply to other process.
How it work?
Run the jauntePE launcher for 1st time and the explorer.exe will be injected and redirected with jauntePE. Run for the 2nd time to uninject and stop the explorer.exe from redirection. Redllar has explain this in the readme.html>The Examples>Explorer Example and you can read more there.

The way i set up the portable 7-Zip shell extension
1. Run portablized explorer.exe with normal2 config.
2. From now, any execution under the portablized explorer.exe will be redirected. So i run the 7-zip installation
3. After finish with the installation, turn off the portablized explorer.exe
4. Tokenize the 7-Zip.reg using JPE Tokenizer.
5. Edit the explorer_jauntePE.ini config (previously contain normal2 config) to optimize the settings.
6. Now run portablized explorer.exe that using the optimized config

To make the optimized explorer_jauntePE.ini config, i have take below points as important
1. Filesystem redirection must be turn on. Reason: 7-Zip shell extension in the right click menu contain the location of the installed 7-zip
2. the virtual registry location for portablized explorer.exe must be point to the virtual 7-Zip.reg. Reason: We want the virtual 7-Zip.reg visible to the portablized explorer.exe in order to get the right click menu
3. The 7-Zip.reg must be tokenize with JPE Tokenizer to change all the actual path in the registry with specially-formed JauntePE substitution tokens. Reason: We want the 7-Zip right click menu can be run in any location without error.

Did i still miss other important points?So far i got the portable 7-Zip shell extension working partially.For example, the right click to a file>add to archieve is running okay but right click to an archieve file (to get the extract menu) will produce Visual C++ runtime error.
Image
I also can't figure out why renaming the application folder also make the portable 7-Zip shell extension didn't work(see my video demo)

Here is my Portable 7-Zip shell extension demo.7z flash video made using Wink. Only 0.98Mb. It's a prove i'm not making this story

Post Reply