7-Zip Portable w/ Shell Integration/Associations Support

If you are currently developing portable freeware or planning to do so, use this forum to discuss technical implementation, seek out like-minded developers for partnership, or solicit interested users for beta testing.
Post Reply
Message
Author
User avatar
demon.devin
Posts: 39
Joined: Wed Sep 13, 2017 8:19 pm
Location: United States
Contact:

7-Zip Portable w/ Shell Integration/Associations Support

#1 Post by demon.devin »

I give you 7-Zip Portable with shell integration and filetype association support!

Features
  • Runs the full 7-Zip file/archive manager.
  • Completely portable - runs off a USB, cloud drive (DropBox, iCloud drive, OneDrive, etc) or hard drive.
  • No need for any external software - simply download extract and run!
  • Packaged in PortableApps.com format for easy integration.
  • Associations are supported and easily customizable.
To add your own file associations, open the 7-ZipPortable.ini file. Under [Associations] add any extension you wish to support. For example:

[Associations]
1=7z
2=001
3=rar
4=zip


For a list of all supported filetypes, open AppInfo.ini and review the [Associations]Filetypes key.

Note:
  • Adding a lot of extensions can and will effect launch time.
  • Windows XP tends to cache icon resources which are inevitably visible even after exiting 7-Zip.
  • Windows 8 can be problematic and may require unlocking for some filetypes—i.e. when double-clicking on a supported file format and Windows asks you to select 7-Zip from a list. This is because Windows 8 has an implementation of a hash ID for associations.
  • Do not associate through 7-Zip! This will leave trash in the registry when you exit the program.

  • SendTo is also available for any filetypes that aren't associated but are supported for use with 7-Zip.
  • Added ability to use shell extension/context menu features. See user configuration file to enable. Do not enable this feature through 7-Zip!
The user configuration file includes the following optional settings:
[7-ZipPortable]
AdditionalParameters=
ShellExtension=true
RunLocally=false
USBDevice=false
Associations=true
Banner=false

  • AdditionalParameters: Pass additional command-line switches.
  • ShellExtension: (true, false, auto) Enable/disable Shell Extension/Context Menu features. Requires administrative rights.
  • RunLocally: (true/false) Application is copied to and executed from %TEMP% directory.
  • USBDevice: (true/false) Enable to prevent ejection/unplugging problems with removable devices. When ShellExtension is enabled, Windows Explorer tends to lock application's DLL(s). If enabled, the launcher will ensure DLL(s) are unlocked.
  • Associations: (true/false) Turn on/off support for file associations during runtime.
  • Banner: (true/false) Enable/disable initialization banner.
Visit the GitHub Project page.

Download the current release which is Revision 3 at the GitHub Project Releases page.

Specular
Posts: 443
Joined: Sun Feb 16, 2014 10:54 pm

Re: 7-Zip Portable w/ Shell Integration/Associations Support

#2 Post by Specular »

So based on the bottom description it would seem the associations work by leaving the portable 7zip open? I suppose you set it to restore the previous association after closing the program.

Wondering how the shell extension works portably, does it also remove itself upon exit?

User avatar
SYSTEM
Posts: 2041
Joined: Sat Jul 31, 2010 1:19 am
Location: Helsinki, Finland

Re: 7-Zip Portable w/ Shell Integration/Associations Support

#3 Post by SYSTEM »

Have you suggested integrating your changes into official 7-Zip Portable to PortableApps.com developers?
My YouTube channel | Release date of my 13th playlist: August 24, 2020

User avatar
demon.devin
Posts: 39
Joined: Wed Sep 13, 2017 8:19 pm
Location: United States
Contact:

Re: 7-Zip Portable w/ Shell Integration/Associations Support

#4 Post by demon.devin »

Specular wrote:So based on the bottom description it would seem the associations work by leaving the portable 7zip open? I suppose you set it to restore the previous association after closing the program.
Yes, all associations only work during runtime; not after. And again, yes -- if 7-Zip was installed on the host machine (and even if it wasn't) prior to the launcher executing, than any and all filetype associations should revert back to the original state after execution.
Specular wrote:Wondering how the shell extension works portably, does it also remove itself upon exit?
Yes, the shell extension is also portable. If you're using this PAF on a USB removable device than inside the user configuration file (..\7-ZipPortable\7-ZipPortable.ini) set USBDevice to equal true (USBDevice=true) and the launcher will ensure the DLL is unlocked for safe removal.
SYSTEM wrote:Have you suggested integrating your changes into official 7-Zip Portable to PortableApps.com developers?
Alas, I tried but to no avail. Here's the forum topic of my sharing this on PortableApps.com. I was asked not to enhance anymore of their PAFs that they have already in their database. Here's the direct message from John T. Haller in regards to my version of 7-Zip Portable.

User avatar
Midas
Posts: 6705
Joined: Mon Dec 07, 2009 7:09 am
Location: Sol3

Re: 7-Zip Portable w/ Shell Integration/Associations Support

#5 Post by Midas »

demon.devin wrote:
SYSTEM wrote:Have you suggested integrating your changes into official 7-Zip Portable to PortableApps.com developers?
Alas, I tried but to no avail. Here's the forum topic of my sharing this on PortableApps.com. I was asked not to enhance anymore of their PAFs that they have already in their database. Here's the direct message from John T. Haller in regards to my version of 7-Zip Portable.
Well, welcome to TPFC. Then again and as 7-zip isn't your original work, I thing topics like this would be better suited for the "Development" sub-forum. :)

User avatar
webfork
Posts: 10818
Joined: Wed Apr 11, 2007 8:06 pm
Location: US, Texas
Contact:

Re: 7-Zip Portable w/ Shell Integration/Associations Support

#6 Post by webfork »

demon.devin wrote: Here's the direct message from John T. Haller in regards to my version of 7-Zip Portable.
First, we welcome posts here on the site about the topic you describe. The PA site is a little more active with PAF format expertise so I'm a little worried that posting here will mean that you won't get that kind of insight into format details, but obviously that's your call.

Second, I don't know why they didn't list it with their reply but there's actually a forum guidelines listing posted here: https://portableapps.com/forums/guidelines. I thought those rules were a bit heavy-handed but a lot of similar projects have sort of come and gone, yet PA is still around so *shrug*. Also, it's entirely possible you're dealing with frustration around their forum system. As moderator, I've certainly spent a lot of time organizing these forums to keep information categorized and easy to find. Maybe their forums are more complex to manage, I dunno.
Midas wrote:Then again and as 7-zip isn't your original work, I thing topics like this would be better suited for the "Development" sub-forum. :)
Agreed. However, that's not to suggest that the program won't end up listed on the official entry. If you take a look at the Pidgin entry (https://www.portablefreeware.com/index.php?id=1345), you'll notice that we have multiple methods to enable portability.

User avatar
Napiophelios
Posts: 610
Joined: Sun Mar 01, 2009 5:48 pm

Re: 7-Zip Portable w/ Shell Integration/Associations Support

#7 Post by Napiophelios »

what's the point of having MIT GNU and WTFPL licenses
if you don't share the code?

Please just kick me in the head
if I am missing something obvious
I won't mind...

User avatar
demon.devin
Posts: 39
Joined: Wed Sep 13, 2017 8:19 pm
Location: United States
Contact:

Re: 7-Zip Portable w/ Shell Integration/Associations Support

#8 Post by demon.devin »

Napiophelios wrote:what's the point of having MIT GNU and WTFPL licenses
if you don't share the code?
I'm not understanding what you're getting at.. all my code is shared and open to the public for viewing.

Here's my modified version of the PortableApps.com Launcher Generator which I used to create the launcher for this version 7-Zip Portable. Here's the 7-ZipPortable.ini file and the custom.nsh file which are used as well. Here's my documentation website which you can find information about the code I used to build my variant of the PortableApps.com Launcher.

Sorry for the confusion.

User avatar
Napiophelios
Posts: 610
Joined: Sun Mar 01, 2009 5:48 pm

Re: 7-Zip Portable w/ Shell Integration/Associations Support

#9 Post by Napiophelios »

ha thanks
https://github.com/demondevin/7-ZipPort ... Custom.nsh
that's the one I was looking for

thanks for the brisk kick :)

User avatar
demon.devin
Posts: 39
Joined: Wed Sep 13, 2017 8:19 pm
Location: United States
Contact:

Re: 7-Zip Portable w/ Shell Integration/Associations Support

#10 Post by demon.devin »

If you're going to recompile this version you're going to need to use my version of PAL as this 7-Zip Portable heavily makes use of the modifications I've done to it.

User avatar
Napiophelios
Posts: 610
Joined: Sun Mar 01, 2009 5:48 pm

Re: 7-Zip Portable w/ Shell Integration/Associations Support

#11 Post by Napiophelios »

No I just want to see the code, I am completely mesmerized by things beyond my capacity to fully understand;
It's like the Arabic language...no clue what it means but it's nice to look at.

User avatar
GlacialMan
Posts: 2
Joined: Mon Apr 10, 2017 7:27 am

Re: 7-Zip Portable w/ Shell Integration/Associations Support

#12 Post by GlacialMan »

demon.devin wrote:If you're going to recompile this version you're going to need to use my version of PAL as this 7-Zip Portable heavily makes use of the modifications I've done to it.
Hi Devin, your PAF version of 7-Zip is the best I've ever tried, thank you very much (credits also to FukenGruven aka PortableWares). Do you plan to integrate the support for Zstandard, Brotli, Lz4, Lz5 and Lizard compression?
7-Zip ZS
https://mcmilk.de/projects/7-Zip-zstd/
https://github.com/mcmilk/7-Zip-zstd/releases/

User avatar
demon.devin
Posts: 39
Joined: Wed Sep 13, 2017 8:19 pm
Location: United States
Contact:

Re: 7-Zip Portable w/ Shell Integration/Associations Support

#13 Post by demon.devin »

GlacialMan wrote:Hi Devin, your PAF version of 7-Zip is the best I've ever tried, thank you very much (credits also to FukenGruven aka PortableWares).
Thank you very much for your kind words! :D
GlacialMan wrote:Do you plan to integrate the support for Zstandard, Brotli, Lz4, Lz5 and Lizard compression?
7-Zip ZS
https://mcmilk.de/projects/7-Zip-zstd/
https://github.com/mcmilk/7-Zip-zstd/releases/
I will certainly look into it but at first glance I see that those extra binaries are meant for the new 7-Zip beta versions. I'll do some additional testing to see how stable it is but I usually don't make PAFs of beta test applications because I care about quality and cannot give support to apps that are in beta testing which should be provided by the app developer.

User avatar
GlacialMan
Posts: 2
Joined: Mon Apr 10, 2017 7:27 am

Re: 7-Zip Portable w/ Shell Integration/Associations Support

#14 Post by GlacialMan »

Thank you very much, let me know if you need a feedback, I like testing.

Post Reply