Modern operating systems provide you with easy methods to set up new applications.
These include automated installer packages as well as commands that install many bits of software at once.
But what actually happens when you run that installer or issue that command?
Windows Installer packages (MSI) add to this by providing standardized services such as uninstalls.
you could inspect the contents of EXEs or MSIs byopening the archive with 7-Zip.
When using a sophisticated tool like InstallShield to create installer packages, app developers can customize the installation.
With InstallShield, the app files and other customizations get wrapped up in asetup.exefile.
Let’s review what happens during this process.
Let’s take a look at installing software on macOS.
Apple macOS
Windows installers have a lot going on under the hood.
Sometimes the download even provides you with a “Drag here!”
Let’s dive into the APP bundle as well as its counterpart the PKG installer.
macOS Package Structure
The APP file on the surfaceisin fact simpler than Windows for two main reasons.
Firstly, it’s a standard folder.
The only difference is that it ends with a “.APP” suffix.
Secondly, APP files demand that absolutely everything the program requires is included.
There’s no worry about missing dependencies with these types of installers.
an system icon).
In contrast, the PKG format is a combination of a Windows-likeinstaller with a Unix-like structure.
The 7-Zip app will also open a PKG file, which is compressed inxarformat.
Within is one or morePayloadfiles, which is also an archive.
In the example below, I’ve used document converter,Pandoc.
It includes a binary in/usr/local/binand some documentation in/usr/local/share/man.
How do these things actually get in place?
We’ll take a look at how each of these actually installs to your Mac.
I’ve used the Windows version of 7-Zip to illustrate this, rather than the command-line only Linux version.
Remember, everything needed to initiate the program is self-contained.
The only difference from a standard drag-and-drop is that the “Info.plist” file gets registered with the system.
Ubuntu and Fedora Linux
Ah,DEB versus RPM.
One of the great flame wars, bested only by the likes ofviversusemacsor KDE versus GNOME.
Yet these formats are more similar than they are different.
Let’s take a look.
But it does not provide the metadata, at least not inthebinarypackage.