I'm sure most of you have dealt with data compression. The concept is shrinking the space consumption of files and folders. WinRar, 7zip, Winzip, KGB archiver are some famous utilities for this purpose. Keep in mind that its not the software, but it is the compression algorithm that does all the magic(Software are just different different implementations of data compression algorithms)
Now, let's say you run a bunch of files weighing 200MB through one of these compression software and came up with a single compressed file with 150MB. Clearly we have a saving of 50megabytes here. This compressed file is literally a pack of data. If you plan for a distribution, this is the obvious choice. However...
Since its nothing more than a pack of data, its not executable. So, it can't decompress itself to produce the original bundle of files. You have to either assume that the target PCs already have decompression software or you may need to distribute a decompression software along with your package.
Assumption is never a good choice. So, seems like we'll just ship the software too. But, shipping some software is not that easy; we need to comply with the terms of the software vendors or else, it'd be piracy. Even if we got through it, it will be additional work for the users- they'll first have to install the software and become a bit familiar with it before extracting our pack. On the otherhand, the software setup will cost say 30MBs. This is extra-burden in our distro. Then, we'll be completely off the point as to why we compressed the files in first place.
This is where self-extracting archives come in handy.
The selfextracting archive is also a file with packed data. In addition, its executable. It's actually a normal executable file with compressed data attached to itself. The executable is programmed to do all the decompression when its executed. So, the receivers of our package will just have to run our package and all will be done. Sure, the SFX will weigh some more kilobytes thanks to executable data; but again, its not that much of a burden.
If you feel like reading more on SFX, read the Wikipedia article or read the ReBin article on creating Windows SFXs with its system software
Comments
Post a Comment