Jump to content

Universal Extractor


nitro322

Recommended Posts

Changelog of 7-zip 4.40 beta:

- 7-Zip now can unpack some installers created by NSIS

I saw this earlier myself. I most certainly plan on adding support for it. It may take a couple days before I have time to implement it, though.

By the way, for those of you that may not be aware, I use 7-Zip extensively in Universal Extractor. In addition to using it as the default extractor for unknown archives (which actually works quite a bit), I also use it to extract files from all of the following file types:

.7z, 7-Zip SFX .exe, .bz2, .cab, .chm, .cpio, .deb, .gz, .iso, .lha, .lzh, .rpm, .tar, .Z

Also, as mentioned above, the latest beta even includes preliminary support for NSIS, which is the single most requested feature. If you find 7-Zip useful, please consider leaving some positive feedback on the 7-Zip forum, or even donating to 7-Zip. I myself just donated $50 to the project, as the recent additions of ISO and NSIS support are two long-desired features that alone justify the donation.

I also strongly recommend checking out the Credits section of the UniExtract home page, just so you understand that this project wouldn't exist if not for the hard work of other F/OSS programmers.

Now, back to work. :-)

Edited by nitro322
Link to comment
Share on other sites


is there way to cascade the context menu?

While I'd definitely like to do this, it's not currently possible, nor likely to be implemented. This would writing a shell extension (.dll), and I lack both the tools and skills to do that. However, if anyone else wants to volunteer... :-)

If you only wanted one option rather than three in the context menu, it would be possible to modify the installer to only add registry entries for that one particular option. Alternatively, you could use the noinstall version, and write a custom batch file to only associate it only with the desired options and/or filetypes.

Link to comment
Share on other sites

Ok, I got antsy and decided to work on this tonight. So, I'm pleased to present Universal Extractor v1.2. As usual, you can find download links and the changelog in the original post.

This release adds support for NSIS (finally!), thanks to some very talented folks working on 7-Zip, but please note that it is still preliminary at this time. There's already been some discussion about this, so please refer to the previous few posts for details.

Two other notes: the_guy, does this version properly support the type 1 and type 2 patches you were talking about? I downloaded the patch for MS06-008 and saw that it didn't extract properly, and was able to get a unique identifier from PEiD, so I added support for the /x switch as you suggested. It seems to work fine for me now, but I only have the one test file.

matidio, I still haven't been able to reproduce your issue with winzip100.exe. I've tried it on three different systems using versions 1.0, 1.1, and 1.2, and they all work for me. PEiD detects it as Nothing found [Overlay], but whenever this message is encountered UniExtract attempts to extract it with both 7-Zip and InfoZip, just in case it works. In this case, 7-Zip ran and was able to extract it every time.

I'd still like to work with you to figure out what's going on, though. If this behavior occurs for you, it may very well occur for other people as well. Have you been able to find any more details about why it works on one of your systems bot not the other?

Link to comment
Share on other sites

Two other notes: the_guy, does this version properly support the type 1 and type 2 patches you were talking about? I downloaded the patch for MS06-008 and saw that it didn't extract properly, and was able to get a unique identifier from PEiD, so I added support for the /x switch as you suggested. It seems to work fine for me now, but I only have the one test file.

It works perfectly. Good job nitro!

the_guy

Link to comment
Share on other sites

Did you use the installer or the archive? If you used the installer, did you choose to "Add Universal Extractor to your system path"?

I used the archive as I wrote and you're right when you say I have an invalid path of Universal Extractor in the path variable. I didn't remember its existence otherwise I would have deleted it. Ok, problem resolved. Although I think this is a bug. As I assume UE tries to find the extracting binaries in its path, can't find them but then uses PEID.exe in the current path (the one from which I launched it), is this right? Ok, it's a rare case ... anyway.

As I said in my comments some week ago. A very nice application, thanks for it. :)

Saluti

Link to comment
Share on other sites

Although I think this is a bug. As I assume UE tries to find the extracting binaries in its path, can't find them but then uses PEID.exe in the current path (the one from which I launched it), is this right?

When UniExtract.exe is executed, it determins it's current path, then sets the working path equal to:

%path% = path\to\uniextract;%path%

So, while UniExtract is running, it looks for executables in the current running directory first for all of its support binaries, then looks in the rest of the path directories. This was done so that even if the user chooses not to add UniExtract to the system path, it'll still function properly (which is mainly suitable for people using the .rar file rather than the installer).

Basically, the only way I could see this failing due to a path issue is if the following conditions are met:

A) UniExtract.exe is moved outside of the default bin\ directory

--AND--

B) The .rar version is being used or the system path option was unchecked in the installer

As you said, it's likely a rare condition. I'm not sure if I agree with you that it's a bug, though. In order for the above conditions to be met, the user would have to manually move UniExtract.exe to a different directory that was intended. I guess I could make it only look for binaries in the same directory as UniExtract.exe, but I think I'm using a couple native windows programs for certain formats, which would then break.

Of course, it's also still possible it's something else altogether, though I still have no idea what it would be. :-) Either way, glad you finally got your problem resolved.

Edited by nitro322
Link to comment
Share on other sites

Thank's for a very nice program. :D

But i have a little problem, cant extract Wise Installer package.

It's Acoustica-CD-Label-Maker-Installer.exe version 2.50 trial.

I come to 3 option's of extract method, i choose a option, but when i click on ok or cancel nothing happens.

I have to ctrl+alt+del and kill the process.

Link to comment
Share on other sites

But i have a little problem, cant extract Wise Installer package.

It's Acoustica-CD-Label-Maker-Installer.exe version 2.50 trial.

I'll look into it tonight. Could you please post a link to this program?

Link to comment
Share on other sites

I'll try rewording my question: How do I configure windows such that it knows that Universal Extractor is the program that handles archives? If Windows is aware, then the icon used to represent archives will be just like the one for Universal Extractor. I just want to see a context menu item when I right-click archives as well as executables.

Link to comment
Share on other sites

How do I configure windows such that it knows that Universal Extractor is the program that handles archives?

The installer should set this up automatically for you. Make sure that "Enable Explorer context menu integration" is enabled during installation. This will associate UniExtract with all currently unassociated formats, and add context menus to all currently associated formats, but leave the association in place so that double-clicking will still open it in the current application. By currently [un]associated, I'm referring to any other applications such as WinRAR that may already be installed.

That should work for you. If it doesn't, try enabling the "Force association with with all supported archive formats" option. This will do essentially the same thing, but will associate ALL formats with UniExtract, overwriting any current associations.

If for some reason neither of those options work, let me know. I'll probably need to get some more information from you, and look into it.

Link to comment
Share on other sites

I must apologize again--I didn't specify that I wasn't using the installer to put Universal Extractor on my system, but it was a part of SA Utils. Is there any way with just the binary archive to force associations with Universal Extractor, like the option during the installation process?

Edited by tap52384
Link to comment
Share on other sites

it was a part of SA Utils

What's SA Utils?

Is there any way with just the binary archive to force associations with Universal Extractor?

Not directly. Your best bet for doing that would be to download the source code archive, look at the [Registry] section of the Inno Setup (.iss), then recreate in a standard .reg file that you can import yourself on any system.

If you go down this route, though I should warn you that the Registry section is fairly complex. I had to account for various conditions for each type of archive (whether or not it's already associated with something, whether or not you want to force association with UniExtract, etc.). The simplest route would be to add all of the "; Native associations" and all of the "; Additional Associations" that are flagged with "Tasks: associate\force". This will register the UniExtract context menu entries with Windows, and associate all supported apps, which in turn will use add the context menu entries. However, this will overwrite any existing associations (such as with WinRAR, for example). If you want to maintain existing associations, you have a lot more work to do.

Alternatively, you could just use the installer. ;)

Edit: Shoot, I just realized that I had an error in the script that generates the source archive, and the .iss file is not included. I'll get that fixed tonight and upload a new copy.

Edit 2: Fixed the source archive. Sorry about that.

Edited by nitro322
Link to comment
Share on other sites

nitro when i get money im going to give you $20 for making this program cause i truly needed this. Hey how about making a pack for it to install onto the unattended ;)

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...