So. I kind of like BOMArchiverHelper.app, the default OS X unzipping utility. However, it has quite a number of limitations. Most other unarchivers on OS X have interfaces that I don't like, or just don't work very well. Also, thanks to Windows' idiotic idea of using the current system encoding for filenames, I have tons of archives from Japan with Shift_JIS filenames, which none of the unarchivers on OS X I've tried will handle properly.
And so I, because I obviously don't have enough to do already, get the idea that I need to write a better unarchiver. Features I think it needs include:
For actual information on the current state of this project, read on!
Archive:
http://dub.washington.edu/projects/denim/download/mac/download_alone.shtml
doesn't extract properly in Unarchiver, but does in Stuffit 9. It's hqx.
(unarchiver is great anyway :)
It extracts fine here. Are you using an Intel machine?
First of all, thank you very much for this app.
Having to use stuffit was one of the major blemishes on my wonderful mac user experience and I'm sure many feel the same.
Don't know if this is Intel chip-related but when I unarchive Japanese files with Japanese encoding, even if I set the confidence level to 100%, it still asks me for confirmation whereas on my PPC iBook it never does and I have it set at 80% as recommended.
Ah, you probably misunderstood that option. Setting it higher means it will ask more often, because it sets the level of confidence the program needs before proceeding without asking.
However, if there are any files where it asks one one machine but not the other when the confidence level is set the same on both, then that's a bug, and I'd appreciate it if you sent me the file to test.
As Stuffit 11 now lost the contextual menu feature I used most of the day, I wonder if TU can be made to list archive contents in a contextual menu.
Even nicer would be to extract just a selected file from the archive.
Thanks, TU looks very promising.
The latest patch for Sim City 4, in sitx format, doesn't extract at all with The Unarchiver (1.1)...
Nice program otherwise.
SITX is not supported.
Extracting 7z files sets modified of all extracted files to "now", extracting with 7zx works.
The 7zC code used by The Unarchiver does not provide the date. I've asked the author to fix it, but I don't think he has, yet.
My comment (127) I talked about the autodelete when there has been an extraction of a format. Is it possible for you to get this working in pathfinder? It doesn't delete at all in pathfinder. Can't wait for the next version!
That sounds more like a Pathfinder bug. Maybe you should try reporting it to them?
Thanks for this great software. With Xee and The Unarchiver you gave us 2 of the most wanted and needed software on mac. I can't understand why nobody did it before, because it's so obvious that this is the way cool apps should works : simple and fast ! :+)
Just for help : I can't extract the archive of WebGrabber you can find here :
http://www.epicware.com/webgrabber.html
It's a normal tar.gz file, and BomArchiveHelper extracted it without problem (as Stuffit).
hth
Confirmed, I'll add it to the list.
Thanks for this great app! More and more great pieces of software come out for the Mac these days. Very cool. Some of the last things I miss are a good Archiver that does RAR and a good mp3 tagger like mp3tag for windows.
sounds like a nice app, but since it's for 10.4 only, i can't try it. are there significant reasons keeping you from compiling a 10.3.x version?
Mostly that I don't have a 10.3 machine to test on.
The Unarchiver 1.1 crashes when opening this file:
http://www.pixelglow.com/downloads/graphviz-1.13-v16.zip
I also posted the crash log on pastebin:
The original 7-zip makes use of many win32 features, but I was talking about p7zip, which is supposed to be very portable.
p7zip is just exactly the same source code, but with a win32 compatibility layer compiled in alongside. It's a real mess, and compiling it into a separate application is nearly impossible.
The only really portable 7z code is the 7z-C code, which I am using, but which is less capable, as mentioned.
I'm curious about those random files that Unarchiver is unable to decompress properly. Are those because of obscure bugs in the decompression engine that only get triggered by certain files or are they because of bad compressors?
So far I've encountered one bad compressor, a couple of obscure bugs, and then there are a couple of still outstanding mysteries like the SIT files on Intel. That's PROBABLY another obscure bug, but I don't know yet.
once you get that SIT problem for Intel users sorted, and perhaps the contextual menu, I will gladly donate to you, and i'm sure others will too :)
great app. it's a favourite of mine, along with quicksilver.
The lack of a contextual menu like way to "Extract to..." is the only thing keeping me from donating som of my coins
Good news and bad news: Good news is I finally got an Intel Mac, and I am working my way through a number of Intel-only bugs (and others) now.
Bad news is, I managed to mess up my home directory drive in the move to the new machine, and I lost a whole lot of files. The Unarchiver isn't affected, since I could just download the 1.1 source again and start over with the few bug fixes I'd done so far, but I lost a lot of work on Xee, so that will be even more delayed.
This ZIP file that have a tracking application is not extracted correctly so it does not work when extracted with your aplication.
http://www.peerlessproductions.com/tuts/pages/Icarus.html
Hope this data help you in some way.
Instead of implementing the various Finder Contextual Menu feature requests, maybe the developer can consider adding an Applescript dictionary along with a set of Automator Actions and Workflows in a later release.
There are several advantages to this approach:
Update on 1.2: All outstanding archive handling bugs have been fixed! At least all the ones I've managed to keep track of.
(This doesn't include stuff like SITX or RAR encryption though, sorry.)
This all sounds very promising and I'm looking forward to 1.2.
I'd also like to second the request for an AppleScript dictionary which would be preferable to Automator Actions.
What kind of commands should an AppleScript dictionary have, in this case?
Well I'd imagine that it should be things like having an Archive object which has properties such as:
I wouldn't expect anything too fancy but it would just be nice to be able to handle file extractions via AppleScript.
I use it to extract sit file.. but only find an empty extracted directory. why?
Well, I wouldn't rely on The Unarchiver extracting sit archives correctly. The problem is not with The Unarchiver, but with underlying library it uses, libxad. This library has got some obvious issues with sit archives.
I tried to use libxad for my own purposes. The sit archives I've used to test the library were made with StuffIt Deluxe 10. In many cases, libxad didn't recognised names of the files inside an archive correctly. As a matter of fact, the names were correct, but not full paths. That way, some files and folders ended up in completely wrong places in archive hierarchy, often not even in the same hierarchy level. I could recognise that since I knew what archive I created, but the user trying to extract sit archive with unknown contents is very likely to get messed-up hierarchy of extracted files. In case of app bundles, plug-ins and alikes, this would make them useless.
Another example is archive made with StuffIt Deluxe, all files recognised properly by the libxad library. But then, adding a new file in the root of archive (using StuffIt) results in the library being able to see only that new file, all others (couple of hundreds of files become inaccessible! Deleting newly added file brought everything back to normal concerning library's ability to correctly see all files.
Problems also exist with sit archives containing encrypted files. If only one file inside an archive is encrypted, the library most certainly won't see all files inside. And an attempt to extract those encrypted that are accessible results in library function ending with data corruption error.
So, as a conclusion: I don't know for other archive types, but as for sit, the libxad library, and that also means The Unarchiver, is (unfortunately) not reliable at all. If anyone still needs sit support, I'm afraid there's no escape from StuffIt Expander yet.
I have fixed quite a number of bugs in libxad's SIT handling, and 1.2 extracts all my test cases correctly. Well, except the encryption, I haven't done anything about that.
Cool, have you submitted those fixes back to the libxad project?
Some of them, but the project seems to be kind of dead and they haven't been incorporated.
Finally, v1.2 is done and released!
http://wakaba.c3.cx/releases/mac/TheUnarchiver1.2.zip
http://wakaba.c3.cx/s/apps/unarchiver.html
New stuff:
As you can see, I did not add some of the requested features like AppleScript support or a context menu item. I looked at both, and finally came to the conclusion that they were both enough work that I would never get this released if I started on them. There is a little workaround for the context menu though, as you can now command-click an archive and The Unarchiver will let you select the destination.
I still like the ideas, though, and I might add them in a later version. Even better would be if somebody wrote it for me and gave me the code, hint hint.
Lovely, thanks for the new release. I'll try it this evening (I have to endure a day of Windows at work) and hopefully it will fix all of my SIT problems. As for the AppleScript support, I certainly wasn't expecting it in the 1.2 release so, from my point of view at least, please mark it down as a 'very nice to have' for a future release at some point. Bug fixes are much more important than what is, I imagine, a fairly niche request.
I have the strangest of defects, so weird I don't even know if it's un unarchiver. I have tried to download the latest two nightly builds of Cyberduck (http://update.cyberduck.ch/nightly/ - builds 2560 and 2574). Using BomArchiveHelper tells me that it can't write to whatever folder I try to unzip to (generally the desktop, as that's where I'm doing all of this). Using unarchiver it chokes when it gets to a classes.nib file, spinning the processors up to max without having anything happen.
Here's the magic - I kill the unarchiver process in activity monitor. I then copy the latest unarchiver app zip file on to my desktop, and unzip it (using unarchiver). Instead of just unzipping the file and giving me the unarchiver app to put in place, I get a folder called 'TheUnarchiver1.2' which contains the unarchiver app, and an apparently functioning copy of the cyberduck app I was trying to unzip :)
If you need more info let me know.
Ah, yes, that behaviour with the files appearing in later unarchivings is a consequence of The Unarchiver crashing or being killed. It's pretty weird, but I have not bothred to do anything about it, since the program is not SUPPOSED to crash in the first place (and also it DOES let you recover some files).
I can reproduce the unarchiving problem, though, so I will look into the cause of this. (I am guessing it's a broken gzip compressor that causes it, but I'll need to check.)
Update: Yes, the file is not a valid gzip file. I might try to add a work-around for this in a future version, but I think it might be hard to handle it in a useful way.
For now, I suggest you tell the author of the program to switch to a compression program that creates valid gzip files.
(If anybody needs the specifics of the problem, see RFC 1952, http://www.ietf.org/rfc/rfc1952.txt, section 2.3.1, the "ISIZE" and "CRC32" fields are missing in the file.)
Hi,
Thanks a lot for a great utility. I would just like to make a small suggestion for an addition:
In the 'Info.plist' could you also add the 'CFBundleShortVersionString' so that the version number appears in the finder when the application is selected. It just makes it so much easier to know which version one already has.
Thanks
Added.
Update 2: There seems to be even more wrong with the file than just that, actually. There isn't much hope of extracting it correctly, but I did fix the bug that causes The Unarchiver to lock up on this kind of corrupted file.
Both of these fixes were small enough that I don't think it warrants a version bump, so I just silently updated the file. Re-download it to get the fixes!
Stink. If someone else (ie, BetterZip) wanted those fixes would they need to contact you about it?
They're all in the The Unarchiver source zip in http://wakaba.c3.cx/releases/mac/. It also contains my XADMaster.framework, which abstracts out a lot of the bother of dealing with libxad and presents a nice, Objective-C interface to use instead.
I've started getting errors while trying to build .pkg installers using Iceberg. The builds fail at the pax file portion of the build. The only thing I can think of that might be related is that I've updated to TheUnarchiver 1.2.
The system.log file reports entries like this...
Nov 16 09:54:41 MyMac /bin/pax: open on /tmp/pax.md.KY1o: Cannot allocate memory
Nov 16 09:54:41 MyMac /bin/pax: close on {5: Bad file descriptor
Nov 16 09:54:41 MyMac /bin/pax: error closing files: Bad file descriptor
Is there any possibility that TheUnarchiver is the cause of the problem?
c w a l d r i p a t m a c d o t c o m
The Unarchiver has no support for pax files (something I'd like to add if I could find the time, though), and looking at that log, it seems to be running the right programs and not anything related to The Unarchiver, so I doubt it. Unless it's something that happens earlier, but I can't think of what that would be.
I am running Unarchiver 1.2 on an Intel Mac running Tiger 10.4.8. Love the app, it is fantastic. However, I have one slight annoyance and I am not sure whether it is actually a bug in the program or something wrong with my Tiger OS.
Every once in a while (this seems to happen at random after restarts/shut downs), all the associations in the preferences for Unarchiver are unselected. I am pretty sure that it is not a Unarchiver bug, because at the same time this problem happens, Firefox ceases to be the default browser and I have to select it as default again.
Sorry for my double post.
I am not sure what you mean here. You only get the preferences window if you click the icon directly, and the only reason to do this is to change the preferences. When unpacking archives, there's no need to click the program icon.
I just have a tiny request here:
Can you remove the option to associate .jar files with The Unarchiver? While .jar files are zip files, they are meant to be executed rather than decompressed and associating them with an decompression utility would make it difficult for users to run some Java programs. Unfortunately, most novice users aren't aware of this and they just blindly click on the "Select All" button.
Are they, nowadays? When I last did some Java programming, on Windows a few years back, there was no way to run a jar file direcetly, as I recall. It had to be done from the command line, or through a wrapper. Most Java apps I've seen use some kind of other of wrapper, too.
Is there now some way to run jars directly?
>>199 see things like http://sourceforge.net/projects/wiki-flcelloguy, which runs for me (On Windows, natch) with just a double click.
also, 200GET
On OS X you can (normally) just double click a .jar file to run it using the Apple Applet Runner (or whatever it's called). But it's still nice to have the option to extract it.
Time for a bugfix and internationalization release:
http://wakaba.c3.cx/releases/mac/TheUnarchiver1.3.zip
http://wakaba.c3.cx/s/apps/unarchiver.html
New in this one:
Plus the other post-1.2 fixes mentioned earlier.
(Sorry, no fix for the jar association yet.)
can unarchiver open the .sitx(not .sit)?????????? pls??
Not until somebody reverse-engineers the format.
So, which app handles the .sitx format and can one have it installed without interfering with unarchiver?
The Unarchiver crashes very often when cancelling extraction of sit file :(
Sorry for posting like this, can't provide link at the moment. Copy this and then remove the post. There are more chrash reports in the log, but all look similar; it's always Thread 1 that chrashed in function SIT_UnArchive.
**********
Host Name: franks-ibook
Date/Time: 2006-11-27 21:51:04.620 +0100
OS Version: 10.4.8 (Build 8L127)
Report Version: 4
Command: The Unarchiver
Path: /Applications/Utilities/The Unarchiver.app/Contents/MacOS/The Unarchiver
Parent: WindowServer [7068]
Version: 1.3 (1.3)
PID: 7107
Thread: 1
Exception: EXC_BAD_ACCESS (0x0001)
Codes: KERN_INVALID_ADDRESS (0x0001) at 0xfc707aac
Thread 0:
0 libSystem.B.dylib 0x9000ab48 mach_msg_trap + 8
1 libSystem.B.dylib 0x9000aa9c mach_msg + 60
2 com.apple.CoreFoundation 0x907dcb78 __CFRunLoopRun + 832
3 com.apple.CoreFoundation 0x907dc47c CFRunLoopRunSpecific + 268
4 com.apple.HIToolbox 0x93203740 RunCurrentEventLoopInMode + 264
5 com.apple.HIToolbox 0x93202dd4 ReceiveNextEventCommon + 380
6 com.apple.HIToolbox 0x93202c40 BlockUntilNextEventMatchingListInMode + 96
7 com.apple.AppKit 0x93706ae4 _DPSNextEvent + 384
8 com.apple.AppKit 0x937067a8 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116
9 com.apple.AppKit 0x93702cec -[NSApplication run] + 472
10 com.apple.AppKit 0x937f387c NSApplicationMain + 452
11 cx.c3.theunarchiver 0x0000292c _start + 760
12 cx.c3.theunarchiver 0x00002630 start + 48
Thread 1 Crashed:
0 de.dstoecker.xadmaster 0x000b3d84 SIT_UnArchive + 6244
1 de.dstoecker.xadmaster 0x0007a888 xadFileUnArcA + 412
2 de.dstoecker.xadmaster 0x0007a9e0 xadFileUnArc + 240
3 de.dstoecker.xadmaster 0x000bf87c -[XADArchive _extractFileEntry:as:] + 252
4 de.dstoecker.xadmaster 0x000bf75c -[XADArchive _extractEntry:as:] + 540
5 de.dstoecker.xadmaster 0x000bf2f8 -[XADArchive extractEntry:to:overrideWritePermissions:] + 352
6 de.dstoecker.xadmaster 0x000bf0b4 -[XADArchive extractEntries:to:] + 316
7 cx.c3.theunarchiver 0x0000428c -[TUArchiveController extract] + 1052
8 com.apple.Foundation 0x9295d194 forkThreadForFunction + 108
9 libSystem.B.dylib 0x9002b508 _pthread_body + 96
Thread 2:
0 libSystem.B.dylib 0x90049ea8 syscall_thread_switch + 8
1 com.apple.Foundation 0x929755d0 +[NSThread sleepUntilDate:] + 152
2 com.apple.AppKit 0x937a3a10 -[NSUIHeartBeat _heartBeatThread:] + 1100
3 com.apple.Foundation 0x9295d194 forkThreadForFunction + 108
4 libSystem.B.dylib 0x9002b508 _pthread_body + 96
Thread 1 crashed with PPC Thread State 64:
srr0: 0x00000000000b3d84 srr1: 0x000000000000d030 vrsave: 0x0000000000000000
cr: 0x44000244 xer: 0x0000000000000000 lr: 0x00000000000b3c78 ctr: 0x0000000000000003
r0: 0x0000000000000000 r1: 0x00000000f00803a0 r2: 0x00000000fc32cfc4 r3: 0x00000000003daae8
r4: 0x00000000003daae8 r5: 0x000000000000000c r6: 0x0000000000000007 r7: 0x0000000000000100
r8: 0x0000000000403b59 r9: 0x0000000000000001 r10: 0x0000000000401b55 r11: 0x0000000000000003
r12: 0x0000000090003138 r13: 0x000000000189914c r14: 0x000000000189955c r15: 0x000000000183b200
r16: 0x0000000000080000 r17: 0x0000000000000003 r18: 0x0000000000000001 r19: 0x0000000000000013
r20: 0x0000000000077ab3 r21: 0x000000000455e008 r22: 0x00000000044dd008 r23: 0x00000000044dd00b
r24: 0x0000000000000000 r25: 0x000000000077f008 r26: 0x0000000000000000 r27: 0x0000000000000000
r28: 0x0000000001898c08 r29: 0x0000000000000001 r30: 0x000000000183b200 r31: 0x00000000000b2530
Binary Images Description:
0x1000 - 0x9fff cx.c3.theunarchiver 1.3 /Applications/Utilities/The Unarchiver.app/Contents/MacOS/The Unarchiver
0x29000 - 0x3cfff org.mozilla.universalchardet ??? (1.0) /Applications/Utilities/The Unarchiver.app/Contents/Frameworks/UniversalDetector.framework/Versions/A/UniversalDetector
0x72000 - 0xd1fff de.dstoecker.xadmaster ??? (1.3 (libxad 13.0, modified)) /Applications/Utilities/The Unarchiver.app/Contents/Frameworks/XADMaster.framework/Versions/A/XADMaster
0x8fe00000 - 0x8fe51fff dyld 45.3 /usr/lib/dyld...
...
...
I was so happy to find a replacement to stuffit expander i could not help but make a donation. I hope one day par support is added to the library as no elegant solution exists for os x
Many thanks! And I'll keep that in mind.
The Unarchiver is a must-have app.:)
Is there a possibility to add a preview-feature like in Zipeg ( http://macupdate.com/info.php/id/23378 )? This would be awesome!:)
Sometimes Unarchiver isn't capable of extracting certain rar-archives (pasword-protected).
Can I help with Dutch localization? I have XCode installed and can open the Unarchiver source code in it but otherwise I'm pretty clueless where to start. Can you give me a quick rundown? Thanks Roland
I'll add you to the list of translators, and mail you when there's time for a new release.
I'm having an odd problem with TheUnarchiver v1.3 and multi-part RAR files. Some of them work, but on some I get an error saying "the archive file is corrupted." I read on this discussion thread to check the output from Console, and I get this:
KATAMARI.ISO: crc error (f1c77610!=e8ca0330)
However, UnRarX, and WinRAR (run in Parallels) both say the files are fine, and extract them successfully. I've had this happen on archives named with .rar, .r00, etc, and on .part01.rar, .part02.rar, etc archives.
Email me at coredumperror AT gmail if you'd like a sample file that causes this error. I tried creating some small muilti-part archives using different options from WinRAR (authenticity, lock, recovery, etc) but everything worked except the one that I "locked." It didn't give me an error, though; instead TheUnarchiver just opens briefly and closes without extracting anything.
P.S. Is there any way to check which version of TheUnarchiver I have installed? I just downloaded and installed 1.3 to do these tests, but I wasn't sure if I'd had it installed already.
I have installed the app but it does not excute at all. I have a powerbook G4. when I double click the app from Application folder, I understand that I should be getting a "preferences" window but nothinh happens. There is nothing in Console.log. It does not even show up in the activity monitor.
Are you using 10.4?
Hi!
This program is great! Congratulations!
Do you have a plan to put support .pax and pax.gz files to The Unarchiver?
It would be great!
I don't have any plan, but I could make one. Depends on how much work it would take, and whether anybody actually uses the format.
That formats use any install package inside...
.pax.gz: is a standard gzipped .pax file.
.pax: "The pax utility will read, write, and list the members of an archive file, and will copy directory hierarchies. These operations are independent of the specific archive format, and support a wide variety of different archive formats. A list of supported archive formats can be found under the description of the -x option." it's similar to .cpio.
Now that you mention it, I did see those when taking apart installers. Maybe there is indeed some use for it, then. I'll add it to the list, at the very least, and whenever I have some spare time (don't hold your breath), I'll see what I can do.
The Unarchiver 1.3 fails to expand an 85 part RAR archive. RAR Expander handles it OK.
Rar expansion definitely need improvement. ( The new rar version 3.7 is coming out soon )
Is there anyway i can view what is inside the archive without extracting it?
Anyway to know what the filesname(s) that will be extracted?
I know unarchiver is easy to use but sometimes i have to spend time to find out what is actually extracted out from the archive.
Can't do anything about it without having an archive that shows the problem.
It's time for a small update to The Unarchiver:
http://wakaba.c3.cx/releases/mac/TheUnarchiver1.4.zip
http://wakaba.c3.cx/releases/mac/TheUnarchiver1.4_src.zip
http://wakaba.c3.cx/s/apps/unarchiver.html
This has a few requested features and bugfixes, and also experimental support for 10.3! Please try it and tell me if it actually works, because I don't have a machine to test it on. The other changes include:
Hi,
I just found this great app. Everything works great except Stuffit (.sitx) archives... Will you support this too?
Anyway, thanks! It's very cool!
Dan
I really, really wish that I could support .sitx, but there is no documentation whatsoever for the format, and nobody's managed to reverse-engineer it yet.
Do you implement the password support for RAR files?
It's planned for 2.0.
Is there a way to get back default system icons for all the archives?
Thanks
While still using The Unarchiver? You can try finding those icons and copying them over the ones inside the The Unarchiver app bundle.
Feature request: the option to automatically scan the decompressed item for viruses using the virus checking app of your choice. Thanks!
Icons for .sit files aren't showing up for me (in fact it's been hard enough getting .sit files to open with The Unarchiver at all - it doesn't show up under the Open With menu).
Also, a minor issue with encrypted .sit files - if you enter the wrong password it will try to extract anyway but complain about corruption.