If the remote links aren't working, files may be able to be found on the Archiver directory on this site.
Windows users beware: Some programs offer "Shell Integration" (or sometimes named after the most popular shell, "Explorer Integration") which lets archive files be treated as folders. The "Microsoft Compressed Folders" software offers no features except for this. This may sound good, but there is one impact that may be often overlooked but should be considered. Any process that acts recurisvely through folders will treat all archives as folders. This means that file searching functions may take longer. If a program such as Microsoft Anti-Virus is run on the machine, which places information (such as CHKLIST.MS files) in sub-directories, the archive file may be altered, rendering it less likely to pass a file integrity check (such as checks using hash algorithms). These issues may not be dire for all users, but it is simply good to know about how these things may happen if one wishes to keep prestine copies of their software.
7-Zip's official web site has often listed bug fixes as improvements when new versions have been released. There have been some known cases where files did not seem to compress right on the first attempt, although that wouldn't have been noticed by simply looking at any message that 7-Zip reports. Only thorough testing verified that the compressed file didn't lead to the same data being uncompressed later, although repeating the attempt would tend to work. Therefore, when data is really important, it may be wise to check the results carefully to make sure there aren't any data corruption bugs. (This recommendation really should apply for any of the archives on this page, too.)
Because documentation in the Windows help format was not very clear (with the -m options not including the continual references to needing -m), and the DOS and OpenBSD ports seemed to have sparse documentation, a TOOGAM-created file was made (which was also made to simply help keep track of things while learning some 7-Zip options). This file may not be complete, but it is available here in case it is of any help to the general public. 7-Zip Help
To create very small zip files that are
compatible with other Unzip programs, if using an executable called 7za,
7za -tzip -mx=9 -mpass=15 -mfb=258 filename.zip files
Also, be sure to read the 7-Zip warning.
The most significant advantage to zip files comes from the fact that there are a lot of Zip files already created. This is a result of the Zip file format being free to work with, and the Info-Zip team provided portable source code for their free tools. Also, unlike the combination of tar with gzip or bzip2, one tool could nicely handle an archive storing multiple compressed files.
There are two formats that have been very widely supported for decades: The one handled by PKZIP 1.1 (and is mostly compatible with PKZIP 1.0, and early versions of Info-Zip UnZip program), and the Zip 2.0 file format (supported well by PKZip 2.04g, and a bit buggier by earlier PKZIP 2.0x versions, and supported well by later versions of Info-Zip's UnZip program, and commonly by other software). Most software handles zip files that use the better-compressing Zip 2.0 format. The encryption commonly used by these formats is easily broken.
There are some newer formats largely similar to Zip 2.0, but they weren't supported nearly as heavily for a long time. They do allow for larger files to be compressed, though, so, over time, more software has added support for such features.
zipfldr.reg, a file to use with RegEdit to assist Microsoft's software in successfully installing. Simply use this before running either of the following links.
Note that Firefox likes to display this as a text file. Use "Save Link As" or, when viewing the file, "Save Page As". When the file is run, RegEdit should be invoked and then that software will prompt if it is okay to import the contents of the *.reg file.
The basic installation, if zipfldr.reg is used, is as follows:
Peter Mortensen's Zipper batch file which uses VBScript (posted at SuperUser.com). This copies the file (to be compressed) to a temporary folder (and does not seem to clean up that could-be-temporary copy). The file to be compressed is hard coded but that could be easily changed (having the first line set to %1). Reviewing the entire article, it also seems that the WSleep may be an unsafe way to try to handle a race condition. (It may work for a small text file. At least checking for file growth would be safer.)
Info-ZIP's tools have come with source code, which has led to their code being used in other products. It is freeware, and portable. As the files are used from the command line, having this tool exist won't lead to Microsoft Antivirus placing CHKLIST.MS in each zip file the way it will if Microsoft Compressed Folders are used (since MSAV puts CHKLIST.MS in every directory).
Note about the DOS executable files: The DOS versions are logically named zip.exe and unzip.exe. In older versions (including 5.12), unzip.exe was 16-bit and the 32-bit versions were called unzip386.exe. In version 5.31 at least, the 32-bit version was called unzip32.exe. With zip 2.1x, the 16-bit version was called zip.exe and the 32-bit version was called zip386.exe. With Zip version 2.2 for DOS, the 32-bit version was renamed to zip32.exe. With zip 2.3x, the 32-bit version was called zip.exe, and so zip.exe was no longer the 32-bit version: Instead there were two 16-bit versions called zip.exe and zip-sm.exe.
Some "32-bit DOS" files may need DPMI, which might be provided by a 32-bit operating system, or simply but having CWSDPMI (Charles W Sandmann DPMI) in the path. Therefore, unzipping a file in Win32 by running a DOS unzipper, and then copying that unzipper to a floppy disk but not including CWSDPMI may later result in another computer using DOS reporting that DPMI is needed.
Zip 2.32 executables for DOS, Zip 2.32 executables for Win32. For other operating systems, there are Ready-to-Run Binary Executable files available (distributed in zip format), and there is Info-Zip's source code area. If 2.32 is still the latest version, then the Source code for Info-Zip's Zip program, version 2.32 (local) is likely still downloadable. For source code for a graphical tool, see the section for Info-Zip's graphical tools.
Encrypting versions of Zip have been called zcrypt, and used to be distributed different than how the non-encrypting versions due to U.S. export laws. The encryption of Info-Zip, as well as early versions of PKZip, was known as easy to bypass (by easily generating the correct password for an existing zip file). The main Info-Zip page for Zip (sources section) has said: "Note that version 1.0 of the encryption/decryption code is available only from the Netherlands site and works only with Zip 1.1. Version 2.9 works with Zip 2.3 and will be incorporated into the main Zip 3.0 source archive, as is already the case with UnZip 5.51 and later." From README.CR (included with Zip 2.32 for DOS) which discusses zcrypt291.zip: "As of version 2.9, this encryption source code is copyrighted by Info-ZIP; see the enclosed LICENSE file for details. Older versions remain in the public domain." (quotation dehyphenating the word "public".)
One may wish to check out the Known Info-Zip bugs page as there has been at least one bug (up to and including Zip version 2.3, but not 2.31 or newer) where zip would "silently corrupt" uncompressed files.
For the DOS release, version 2.3 included "32-bit rather than 16-bit executables of the auxilary tools", as documented in the README.DOS file. (I'm not sure if this was also true with version 2.2x, or when the first version doing this was.) If 16-bit tools are needed, I recommend checking out an older version.
The README.DOS text file bundled with zip and unzip (renamed locally) include some information about DOS programming compilers for the C language; it is a completely different file than the readme.dos file found in the directories of Info-Zip programs for MS-DOS. (That useful file is available locally as Info about Info-Zip MS-DOS executabls, and zipped locally as readme.dos text file (zipped) and readme.dos text file (gzipped), and contains information about the program's limits.)
Info-Zip's "free 1.10 compatible MS-DOS zipper" Zip
Pocket UnZip 1.12 GUI app for NT/9x x86. WinCE directory ReadMe says "Note that Pocket UnZip 1.0 is Steve P. Miller's graphical CE port of UnZip 5.3" There is online documentation for Version 1.0 of Pocket UnZip for Windows CE. The included HTML file says "Thank you for using Version 1.1 of Pocket UnZip for Windows CE." However, (when checked July 4, 2007) there doesn't seem to actually be a Version 1.1 of Pocket UnZip for Windows CE, as the Windows CE directory has version 1.0. The bundled README file mentions "UnZip, version 5.52", however the included HTML file says "Pocket UnZip uses version 5.5 of Info-ZIP's core decompression code."
The Info-Zip site's source code directories do not include special files for the Pocket UnZip packages. There is a README.CE file included in the Win9x package that includes instructions for making the build using "Visual C++ for Windows CE version 1.0", a "development kit uses the the standard Microsoft Visual C++ version 5.0 or 6.0" [sic] files.
AdvanceMAME provides AdvanceCOMP, which is the name of a project that contains multiple executable files including advzip.exe
Sample command line to use Advzip:
advzip -ap4i 1000 filename.zip what-to-compress
This software may not be open source, but may produce smaller zip files than other options like 7-Zip (which is superior at creating small zip files than many other archivers).
Summary: This software has been known to freqently work, by modifying ZIP files created by other software.
Forum post stated, “walbeehm.com expired on 04/26/2014 and is pending renewal or deletion.” The home page had been Ben Jos Walbeehm's software download site at http://www.walbeehm.com/download/ had expired. For information about this data compression program, rather than water skiing, see: Ben Jos Walbeehm's software download site, archived by the Wayback Machine @ Archive.org was available. Based on that, a file was downloaded: DelfOpt Win32 command line, version 2.07, original 7-zip archived, zipped. The page refers to another site which has gone down, but cool little rom manipulation and management engine: download page, archived by the Wayback Machine @ Archive.org provided some files.
According to Ben Jos: “DeflOpt tries to reduce the size of GZIP (extensions .gz and .tgz), PNG, and ZIP files. Regardless of which programs/settings were used to create them, DeflOpt will be able to reduce these files by at least a few bytes more than 95% of the time.”
Ken's post on DeflOpt (archived by the Wayback Machine @ Archive.org) discusses that software's approach: optimizing Huffman tables by trying things like disabling the BTYPE 16, 17, and/or 18 strategies described by RFC 1951. He also says “DeflOpt is not doing any pattern re-compression - that's why it is so fast.” Ben Jos Walbeehm's post on DeflOpt's method refers to Ken's just-mentioned post but goes into further detail of the logic used.
Forum post archived, mentioning DeflOpt hyperlinked to Ben Jos's statement of a Linux version available, for i386 (forum post, archived).
Forum post, archived by the Wayback machine @ Archive.org notes, “ I don't mind if others distribute DeflOpt, as long as they credit me as the author.” (The post was signed by Ben Jos. It seems from this post that “Ben Jos” is meant to be a single multi-word name, rather than a combination of a first name and a middle name.)
Available are KZIP for Win32 command line, KZip license (which prohibits redistribution and re-use of KZIP). The site hosting the Linux releases seemed to be down (simply showing a single page with a logo on it) when last checked while this page was being maintained.
Ken's forum post describes KZip's approach of performing multiple passes to optimize both pattern compression and the Huffman table. Ben Jos Walbeehm, on his download page, says “kzip has been updated several times and can beat all other zippers (in terms of smallest resulting size) more than 90% of the time.”
Another forum post discusses trying to use the compression of multiple programs to achieve optimal results.
This software was popular shareware, and supported a compression method known as "shrink" which wasn't extensively used (as the inflate/deflate method usually provided better compression). Since many versions of Info-Zip's tools do not include support for the "shrink" compression method in the pre-built binaries, PKWare's software is sometimes the most convenient way to handle such files.
PKZip for Win95/98/NT Version 2.70 (found from Winsock-L FTP Listings), 2.7
version info Channelx page says pk270wsp.exe is: "Last release preceding early tragic death of the author." (Details about that are available for reading on local page about Phil Katz.) Filegate's PKWare: PKZip for Win32 page describes version 4.0 (likely quoting PKWare), saying that it "is a major upgrade from our previous PKZIP 2.70 for Windows application."
Several other pieces of software support zip files. One is PowerArchiver, which is now shareware but version 6.11 was freeware (and is available from "Last Freeware version" site and also at A+ Freeware, and also local, renamed version of 6.x last freeware PowerArchiver. That is also WinZip, which isn't recommended due to alternatives. I downloaded WinZip 6.1 years ago and clicked on Help, About, Acknowledgements, and read: "WinZip incorporates compression code by the Info-ZIP group, which is used with their permission." Basically, WinZip took the code from Info-Zip, added a couple of features (such as shelling out and running Arj), and wants $29 registration fee for it's interface. A lot of people seem to prefer WinRar if non-free software is desired due to support for shell integration and a GUI. 7-Zip offers the same thing for free. WiZ supports a GUI, and it is also free. Microsoft Compressed Folders isn't mean to be completely free (it isn't sold individually, but is part of paid software), but many people may have easy access to it (even already having it installed) and it supports shell integration.
Info-Zip has a page that their main Info-Zip page calls Zip "Imposters" which mentions some programs with the name Zip in their name. Also unrelated are the file formats called 7-Zip, bzip2, and gzip: They have nothing to do with Zip files other than their similar purpose of providing compression (and in 7-Zip's case, archiving). (gzip does use zlib, like Info-Zip, so there may be some similarities, but gzip does not handle zip files.) The programs are similarly named (7-Zip's GUI is called 7-Zip, although its command line program is called p7zip and uses a filename of p7a), and are designed to handle the file format with the same name as the program. (7-Zip's GUI anyway also supports file formats other than 7-Zip, including Zip.)
Some file managers support Zip files natively. For Series 60 mobile phones like the Nokia 6600, there is the S60Zip v1.02 free ZIP file manager for Symbian Series 60 v2 (direct download of S60Zip (local) which is freeware, unlike the $9.95 ZipMan 2.5.
This site mentioned the offering by the gnuwin32.sf.net site longer than the release at ltr-data.se, and the info continues to be provided here.
Bzip2 for Windows
Complete package, except sources is a download link for bzip2-1.0.4.exe (local, renamed copy of 1.04. Source code is a download link for bzip2-1.0.4-src.exe (local, renamed copy of 1.04 source code). There are other downloads available too, for Binary executable files, Documentation, Source code (zipped), and Developer files.
Bzip2 for Windows requires "Win32, i.e. MS-Windows 95 / 98 / ME / NT / 2000 / XP / 2003 / Vista with msvcrt.dll and msvcp60.dll." (This description was found shortly after the release of Windows Vista.)
Requires msvcrt.dll (bundled when MS IE 4.0 or higher is installed) and msvcp60.dll. These DLL files are available from Microsoft by downloading the Vcredist.exe which installs latest run-time components for Visual C++ applications (Revision 6.4). The executable file may not currently be available on this site, as it is 1.7MB large and probably should be stored somewhere on the site outside the archivers section.
gzip has the interesting honor of being supported by many web browsers. The support of web browsers for gzip is interesting because it is fairly wide-spread, although probably not known by a very large number of people who do know what gzip is. Web browsers will often support downloading and extracting a gzip file and then presenting the end user with the ungzipped file. (This can make it a bit difficult with some software to download the gzip file without accidental uncompression.) Some web servers will send gzipped content, at least for uncompressed text files like standard HTML files, and many end users do not even realize that the HTML content they view was distributed in this compressed format. gzip is mentioned in RFC 2616: HTTP 1.1, which itself references RFC 1952.
A list of some major browsers and versions supporting gzip is available on mod_gzip's page about which browsers handle gzip.
gzip has been used alongside tar similar to how bzip2 can be used, but gzip pre-dates bzip2. It is preferred by the OpenBSD group over bzip2 due to having higher speed.
7-Zip, mentioned in its own section towards the top of this page (since it handles a different format using the *.7z extention), can make gzip files that are smaller than what Info-Zip's gzip makes, but the perfectly valid gzip files can be uncompressed just fine with software like the gzip package distributed by Info-Zip. When making files for distribution, one may be a little bit nicer for distributors and end users by making the Zip files with 7za a -tgzip -mx=9 zipfile.zip file1 file2 etc. (Then if using a self-extracting archive, check out executables by Info-Zip as they are smaller than 7-Zip's.)
A version of gzip has been distributed by Info-Zip, the group more famous for making command line zipping and unzipping tools. The gzip files are distributed in the same locations as the unzipping tools, so one can check out the Info-Zip Unzip Ready-to-Run Binaries section to find links for gzip executables. GZip 1.2.4 source code (local, renamed) is in the same locations where Info-Zip source code gets distributed. DOS version of gzip and Win 95/NT version of gzip (local copy, renamed from gzip124xn.exe) exist. Also, some tar software supports gzip (either by running an external program, or sometimes just having support built in). An example is UNTGZ for DOS, Windows, and OS/2.
GZIP 1.3.12 for DOS announcement indicates LFNs may be supported better by the gz*.zip package from the DJGPP FTP site (including the DJGPP beta site).
Apache 2.0 License (distributed as part of the Zopfli project) Wikipedia's page for Zopfli states, “The advent of Zopfli displaced Ken Silverman's KZIP as the most size-efficient DEFLATE implementation and 7-Zip's deflater as the most size-efficient freely licensed one.” Also, “Silverman's KZIP-based PNG encoder PNGOUT used to be the single most size-efficient PNG encoder available. It was displaced by Zopfli-based PNG encoders and optimization tools.”
Zopfli issue #3 says “Zopfli is supposed to produce the smallest Deflate stream”, but that does not appear to be the case: DeflOpt has been known to improve a ZIP file made by Zopfli, and “_CK_ SAYS...” blog: zopfli gzip compressor . binary for Windows, comment notes that “in my 25mb test 7zip was actually about 10k smaller, tho kzip was smaller still.”
To make a gzip file:
zopfli -v --i1000 filename
Zopfli issue 29 discusses support for formats other than gzip.
The OpenBSD tar man page says "A tar command first appeared in Version 7 AT&T UNIX." It has been included in several operating systems.
There are different approaches to how one can use tar in combination with a compression program. One way is to avoid using tar's options at all, if using an operating system that fully supports Unix-style piping. One can have tar just use standard input/output (using the not-always-heavily-documented feature of specifying a hyphen for a filename) and using something like: "bzip2 -cd foo.tar.bz2 | tar xf -". (Perhaps more proper would be "bzcat -s file.tar.bz2 | tar xvf -") The manual for GNU tar documents how it supports --use-compress-program=command to be able to run the command of one's choice. (A different man page for tar documents a similar feature of "--use-compress-program PROG" to run a program (called "PROG" in this example), citing the program must support a -d option (which would be to specify decompression).
In addition, tar often supports running specific programs that the tar program is designed to be able to look for an execute. These programs include:
"This version has been created with an intent to preserve maximum compatibility and retain the feature set of the original ARJ archiver as provided by ARJ Software, Inc." However, one feature lacking in the OpenSource version is that the registered version does not allow even "the registered users able to create ARJ-SECURITY envelopes using this Open-Source version." (This may not be a significant limit, since such keys likely shouldn't be widely trusted anyhow d"ue to ubiquitous circulation of counterfeit registration keys for the older (pre-2.70) versions of ARJ".
From the collection of FreeDOS files: Arj 2.78 for DOS (executable files from FreeDOS release) and Arj for DOS (source code). Files, including other versions, are available from Open-Source ARJ's SourceForge page.
PAQ offers high compression, however it is designed more around the academic goal of improving maximum compression rather than to be used on a wide-scale basis by end users. There are new versions being released on the page regularly, and the newer versions are not necessarily backwards compatible with the older versions and are not necessarily always better than the older versions. DOS versions are not typically made. Also, it can use significant amounts of memory (1.5GB). I've seen it complain about out of memory using maximum compression, and when using less-than-maximum compression it's used 435,061,768 bytes of memory on a file < 123KB (with the Windows version of PAQ8L on its .cpp file). The large amount of memory (relative to other compressors like Info-Zip) required for compression is also required for decompression. These factors are leading to the program being more interesting from an acedemic perspective than a production environment where ease-of-use is desired. PAQ8L's readme.txt says that Malcolm Taylor's WinRK 3.0.3 (pwcm mode) uses a "similar (but rewritten) context mixing algorithm"
bzip2's main page has for a long time referred to "the best available techniques (the PPM family of statistical compressors)" (and the page cites that bzip2 typically gets within 10-15% of that). The "Prediction by Partial Matching" compression algorithm page on Wikipedia says "Trying to improve PPM algorithms led to the PAQ series of data compression algorithms." PAQ uses a related technology called context mixing (as per Wikipedia's PAQ page). PAQ does achieve some of the very best compression ratios, often being #1 or #2 in maximum compression on various tests. (When it is #2, the closed-source WinRK is often #1.)
For another PPM, STAT
WinAce 1.50 Freeware (Adware) Edition download page, download (local directory) installs "webHancer Customer Companion" and supposedly works on Win98, NT, and 2K, and not 95/ME. It supports ACE files and some other file formats including Zip, RAR (I'm not sure just which version of the RAR format is supports), Arj, CAB, and more.
Note that VirusTotal's review of WinAce indicates a widespread minority (12 out of 46 scanners) of anti-malware scanners have dissatisfaction with the included WebHancer. Even Google's Webmaster Tools have flagged a site as containing malware because of this WebHancer. Although WinAce was quite forthcoming that this was Adware, this did not seem to be tolerated by organizations that have flagged WebHancer as a product of evil. For now, this site has compensated by zipping the installer (realizing that this means another unzipping solution will be needed for this software which is zipped). Hopefully that will bypass some of the automated testing that might indicate this site distributes known malware. If that doesn't work, perhaps someday some sort of password protection may be needed. This version isn't necessarily the most recommended for modern day usage, but still seems worthwhile for historically being a potential useful option.
A web page of CooL Mind says the MSN Messenger Wink animation is a file in *.CAB format, containing an XML file, called a *.MCO file.
In addition to Microsoft's CAB file, there is the CAB file format used by InstallShield. Some info is on a page about Compressing and Archive Utilities.
It would seem that there are multiple forms of compression that a CAB file may support. One type is MSZip. Another type is LZX:21. (The latter is used with .)
CCM ccm121.zip found via MaximumCompression.Com Compression Programs site with lots of download links to lots of compressors (only 4 of which were hosted on that site). (Note that the site has also hosted ccm117a.zip which has become an Error 404, so it does seem the site doesn't keep distributing hold versions.) Local CCM directory also contains uccm117a.zip, where the U simply refers to an unofficial archive being made. (I personally created the archive with some extracted version I found on a hard drive.) It is smaller than version 1.21.
"CLI does NOT check much, so please be nice. ;)" Sounds like it might not be thoroughly tested to always decomrpess right. CCM v1.17a Mar 10 2007 says "CCM needs 98 MiB of free RAM in order to run." ccm.exe is 24,576 bytes. Not sure what the requirements are (I'm guessing it's a Windows app since it doesn't mention anything about EMS/XMS DOS memory and it requires > 64MB.) "free for non-commercial use", it has no released source that I know of. The author states http://www.encode.ru/forums/index.php?action=vthread&forum=1&topic=344 (here) that compression could be improved simply by increasing memory requirements. The forum posts also have linked to: Squeeze Chart 2007
Better Archiver with Recursive Functionality (BARF) page on Mahoney's site (which hosts PAQ) has a web page that discusses the "pigeonhole principle" in somewhat technical, however nicely brief language. (An "encoding" would be what is often called a "compressed file".) It has a disclaimer on the web page. (Since the web page references "very long" filenames, so it looks like BARF's "trick" is that it stores data in the filenames. If you rename the file, then there'd be a problem.)
Other compressors aren't so nice. I know I've seen a compressor that stores data in sections on the hard drive marked as deleted data. (This means the data did sit on the hard drive and the file could usually be decompressed immediately, but it shouldn't be truested because the hidden, "compressed" data was not protected like normal data. The compressed data could be legitimately overwritten by any other software that followed normal rules of software writing, including an operating system's swap routines. Also any normal software that copied all files stored in properly identified areas on the hard drive wouldn't copy data from areas marked as deleted.)
Before leaping into executable compression, it is good to know there are different formats of executables. Some do not work when compressed, including some that use DOS4GW.EXE. Do not compress and delete the larger file without testing the compressed results (if the larger file is not easily replacable). Some *.EXE compressors, like early PKLite and LZExe, may compress Windows executables (even a simple Windows 3.1 executable) and create invalid files.
UPX is a program that supports compression of multiple types of executable programs, including executables for multiple types of operating systems. It is freeware with GPL licensing, with an additional license granting permission to use an UPX unmodified on non-GPL executables (including commercially-released executables). UPX has been updated later than LZExe or PKLite, and version 3 supports --lzma (to use LZMA, the compression of 7-Zip). The compresors require 32-bit integers (as per the UCL library's portability section), but the code's "decompressors should work on any system around" For DOS executables, UPX.DOC says "Compressed programs only work on a 286+", but there is a --8086 option to make executables work on earlier systems. Other options that may help compression exist, such as --all-methods.
Works on a wide variety of executables summariezed here: DOS (16-bit and 32-bit), Windows executables (including DLL (Dynamic Link Library) files and .scr (screen saver) files), Linux (AOUT, ELF, script), Atari TOS/MiNT. (In the UPX.DOC file in the notes by WIN32/PE, it seems --strip-relocs=0 may be needed to have a resulting file work with Windows 3.x. If that doesn't work, the shareware PKLite may work.) "UPX is written in portable endian-neutral C++"
The download section should point to the latest releases, and the Old versions seciton should point to the older ones. If UPX hasn't had a new version since these links were updated, then they may work: 32-bit DOS version 3.01, 3.01 source code (renamed locally to upx301s.tb2), uses UCL library (UCL 1.03 full source code) (local: renamed to ucl-103.tgz.) Version 3.0 note: Although the --lzma isn't mentioned in UPX.DOC, it is in NEWS and README.1ST and it compresses tighter. It would seem that UPX does not use this method by default, therefore it seems that the documentation is now false where UPX.DOC says near the --all-methods that "usually the default method gives the best results anyway." (So using --all-methods is seeming likely to compress better: It was noticable with 4DOS 7.56.)
Other URLs exist for the home page:
LZExe is a freeware DOS program that compresses DOS *.EXE executable files. (The compression engine is written in 8086 assembler.)
LZEXE 0.91e, described by the author as "version 0.91 with contribution from various people". The lzexe91e.zip file Includes UNLZEXE5.ZIP, and documentation from a translator mentioning a bug fix. There is also UNLZEXE8. Note that it seems LZEXE is lossy: At least UNLZEXE does not always create files that are identical (byte for byte) to the original.
Fabrice's site says 0.91e is the last version released by him. There is an LZEXE 1.00a (lzexe100.zip) on some Internet sites. It comes with some unrelated tools, and has removal instructions on anti-virus sites very prominent on a Google search for it.
lzemem.zip (new version of lzemem.zip with archive modified by SAC) describes LZEXE making executables requiring more memory, and how to use Microsoft EXEMOD to fix. A program: LZEFix has been made to call EXEMOD to automate the fix. I may not have tested these things, checked the program for validity/safety, etc. LZEFix.zip (version 2.1) Q11044 about EXEMOD Q31308 makes it seem EXEMOD comes with VB for MS-DOS, QuickBasic 4.0, 4.0b, "4.5 for MS-DOS", MS BASIC 6.0, 6.0b, BASIC Professional Development System 7.0, 7.1. Q62217 says "This manual also unnecessarily documents the EXEMOD utility (on pages 307-311), which is an older version of EXEHDR. EXEMOD is not shipped with Basic PDS 7.0 or 7.1 because EXEHDR contains all of EXEMOD's functionality." LNK4094 says: "Use EXEHDR on MS-DOS executables. EXEHDR is included with Visual C++ 1.5."
AntiLZ.Zip: ANTI-UNLZEXE - LZEXE packed files protector
LZExe's home page cites LZSS implemented in free sources distributed by Okumura as the inspiration for LZEXE's compression engine. For LZEXE, the home page says source code is "Currently unavailable, but" [that] "may change if people ask" for "it." Local copies of files may be found in this site's LZEXE directory.
PKLite Shareware 2.01 is icensed for private use. Corporate and Governmental site use has a license only for "as many sites / computers as contracted for". WHATSNEW.201 says that since version 1.50, version 2.01 added the ability to compress Windows 16-bit (.EXE and .DLL) program files. (Also some problems were corrected.)
The shareware version made files that could be uncompressed with PKLite: The commercial (registered) release made files that PKlite couldn't uncompress. (They might still be uncompressable.
Diet v.1.45F, a DOS program, is an executable compressor that also comes with a TSR (a Terminate-Stay-Resident program that uses DOS memory) that allows data files to be compressed and used, although its documentation does say that not all data files are supported. (So, rather than trust the results, the documentation says "You'll have to experiment.") DIET145F.DOC says "DIET is a Freeware Program." Diet has received positive remarks in exe compression review, which reviewed an older version of Diet compared with an older version of PKLite and the last official version of LZExe.
Searching for a version of Diet before Simtel stamped their involvement into the archive comments, I found the following: Google search results, Teddy Matsumoto DIET page, a link, a link, http://my.vector.co.jp/servlet/Login.Login?DONE=http://www.vector.co.jp/soft/dl/dos/util/se000305.html download redirector page went to download redirector URL which redirected to Diet 1.45f (Japanese archive) which had the same executable, but different documentation (probably in Japanese) as the English Zip archive.
Simtel EXE Compress directory. The shareware archiver UltraCompressor II revision 3 PRO. LxLite v.1.3 for OS/2 Executables and source code,
page with links to some Freeware tools that cannot be distributed with other tools.
In addition to lossy compression, there can be multiple lossless ways to store *.PNG files, and also *.GIF files. Windows 3.1's Win.Com consisted of *.RLE files which were largely bitmap format, but used 4-bit RLE format.
For further details on manipulating graphics, see the graphics manipulating programs. Many of them handle various types of image compression.
For details on compressing sound files (lossfully, such as *.MP3 or *.OGG, or lossless methods that retian full quality), and/or for information about video (both lossless and lossy), see the Multimedia Codecs section (on a separate page).
Basic Oompression Library (a URL which rediects to another home for BCL) is fairly easy to implement. The library is designed for easy implementation and studiability, rather than other common goals like maximizing compression, memory requirements, and/or speed of execution. BFC.C (Basic File Compressor C code) contains code for the BCL1 file format. directory for Basic Compression Library. BFC.C (Binary File Container C code) contains code for the BCL1 container format, which is a very simple format.
As there are a number of simple implementations of compression formats, superior compression can often be obtained by compressing first with RLE, and then using Lempel-Ziv (L7ZZ) compression, and lastly the Huffman compression. (Often compressing compressed data doesn't work as well, but that is largely since other compressors will try optimizing techniques without needing an end user to run multiple programs.)
As of version 1.20, what used to be called Huffman coding was renamed to be Shannon-Fano coding, because it was really Shannon-Fano code that was misnamed and was being called Huffman, but wasn't Huffman. Unfortunately, the BCL1 format wasn't modified to be flagged differently (such as having a BCL2 format), and files marked as Huffman are now handled by the new Huffman coding (rather than using the Shannon-Fano code, and using a new flag marker to specify using the new Huffman code). This means that BCL1 files flagged as using Huffman are not compatible between BCL versions.
Download page, directory for Basic Compression Library with a file renamed from bcl-1.2.0.zip.
This site has a page of links to other compression sites.
Floppy disk images can be used for installation disks and to be used as bootable images for when a CD boots. CD images have become common, most notably in the *.ISO format. Other disk images exist, such as the QCow format. Software exists to handle these things.
See also CD file systems for software that mounts such images.
Some software called “Error Code Modeler” (abbreviated “ECM” can often losslessly cut down on the size of typical data CDs by using a special purpose, lossless algorithm that can remove some standard data that is able to be recalculated and which is commonly found in typical data CDs. The completely lossless process of ECM works by removing specific data from CD images when this data can be successfully re-created using calculations in this small special-purpose software. The specific data that ECM attempts to calculate, and then removes when it finds the data is re-calculatable, is the “Sync” data, the “Error Detection Code” (abbreviated “EDC”) data, and the “Error Correction Code” (abbreviated “ECC”) data (the latter of which is mentioned the most and which appears larger in drawings which are said to not be to scale). Other data in the image, including Sync/EDC/ECC data which may be non-standard and which ECM cannot just simply re-create, is not removed, so the entire ECM process is lossless.
Although the general purpose data compressor may show a lower compression ratio on a file created by having ECM remove data first, the lower compression ratio is the is because the general purpose compressor is not able to store the compressed version of the Sync/EDC/ECC data (which may typically be fairly compressable). Although creating a compressed version of the the Sync/EDC/ECC data may help to raise the compression ratio that the general purpose data compressor would report, the method that often gets smaller results is having a lot or all of that Sync/EDC/ECC data be entirely removed by ECM instead of storing a compressed version of that data. Test results on ECM's website shows that using ECM before RAR, a general purpose data compressor, saved over 15% (about 70+MB) compared to just using RAR alone. (These test results were on some images of CDs used for video game consoles.)
ECM: the ECM v1.0 (GPL'ed source code and binary for Windows) and ECM GUI port for Mac OS X are available are available from Neill Corlett's ECM home page and from this site's ECM local dir. A package has also been accepted into the “Janty Jackalope” version 9.04 of Ubuntu (according to Launchpad.net page about ECM's inclusion).
Creating CD images is often supported by CD writing software, and so a separate program for this task may be unnecessary. In some environments (such as Linux), the most common way to make CD images is with a separate program.
A common program is mkisofs. A similar program is mkhybrid, which adds HFS support to mkisofs. OpenBSD man page for mkhybrid documents this. Especially the OpenBSD man page for mkhybrid (Availability section) for download info.
Significant changing of CD images is just not commonly done with ISO 9660. Instead, if a file needs to be added, new *.ISO images are created. If a disc is going to be written to multiple times, this is generally handled by using packet writing with the UDF file system.
A notable exception would be some tools made to alter a *.ISO image to affect how the resulting CD will cause the system to act when a system boots from the CD. (See El Torito for possible further information.)
Details on software related to data communications may be found by Network Software. However, since this page has so many solutions for data compression, here's a quick tidbit related to a protocol that was widely seen supported by dial-up modems.