While most of us are content to go with the ‘tried and true’ process of installing the executable files for our favorite software, is it really necessary to do so? Could we actually extract those same executable files rather than install them, and run them the same as their stand-alone cousins?
Today’s Question & Answer session comes to us courtesy of SuperUser—a subdivision of Stack Exchange, a community-driven grouping of Q&A web sites.
SuperUser reader Tom Turkey wants to know what the difference between a stand-alone and installed executable file is:
I have noticed on Windows, at least, that you can download a direct, statically-linked executable file and launch it directly, or write your own program and execute it (even dynamically) without having to install it.
That brings me to my main point…what’s the purpose of the installation process? I mean besides maybe the Windows Registry. However, for practicality and usage purposes, it’s possible to have a single, independent, stand-alone program that can be run, stored on non-volatile storage, and accessed via the file system of whatever device it’s on, and executed on the OS.
So what’s the big deal with all the “install this” business if many great programs of virtually any magnitude can work perfectly without going through an installation configuration? It puzzles me a bit, and aside from a database or other metadata/access configuration systems, what is the real difference here if the latter (an installed executable) performs and works in the same way as a stand-alone?
Is there a difference here I’m unaware of with a non-installed program versus an installed one?
PS: This doesn’t just have to apply to Windows OSes, but any that implement a similar function.
Is there really that much of a difference between stand-alone and installed executable files, or are they more alike than we might suspect?
SuperUser contributor Wyatt8740 has the answer for us:
Brief answer: a stand-alone exe requires no libraries be installed on the computer to run, and requires no registry entries or other components.
An installed file can be a stand-alone in an installer package, but is generally dependent on a variety of components and libraries installed alongside it.
In many cases, through the use of Universal Extractor (unofficial update: here), you can extract the contents of an installer and run a program without administrative privileges in Windows. MSI installers can be unpacked with lessmsi.
In most other operating systems, all programs can be run without root/administrator privileges, through user-specific ‘bin’, ‘lib’, and other directories in the home directory. Personally, I despise installers the majority of the time, because they make it harder for me to use programs without administrative privileges when I don’t have them. But they are packaged that way by large companies to simplify the process for the average end user.
While we have learned that it is possible to extract and run some of our favorite software as stand-alone executable files, sometimes there is just no escaping the old ‘tried and true’ installation process in order to use a program we like or need on our system.
Have something to add to the explanation? Sound off in the comments. Want to read more answers from other tech-savvy Stack Exchange users? Check out the full discussion thread (with greatly expanded answers) here.