Page 1 of 4

7-Zip Portable [JPE] -complete-

Posted: Sun Dec 14, 2008 2:22 am
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

Re: [Launcher+installer] 7-Zip JPE

Posted: Sun Dec 14, 2008 2:41 am
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.

Posted: Sun Dec 14, 2008 9:00 am
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

Posted: Sun Dec 14, 2008 9:11 am
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

Posted: Sun Dec 14, 2008 10:23 am
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.

Posted: Sun Dec 14, 2008 11:05 am
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. :)

Posted: Tue Dec 16, 2008 10:18 am
by crownixx
Update the package

Posted: Wed Jan 14, 2009 2:38 pm
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

Posted: Thu Jan 15, 2009 5:35 am
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..

Posted: Thu Jan 15, 2009 8:40 am
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

Posted: Thu Jan 15, 2009 10:22 am
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?

Posted: Thu Jan 15, 2009 10:40 am
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?

Posted: Thu Jan 15, 2009 1:50 pm
by Checker
...

Edit: Deleted, sorry :oops:

Posted: Fri Jan 16, 2009 4:05 am
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.

Posted: Fri Jan 16, 2009 7:47 am
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