How Software Installer Works on Windows Mac and Linux
This article briefly describes the process of installing software on three major desktop operating systems, namely Windows, Mac and Linux, and the importance of user awareness of the software installation process.
Modern operating systems provide easy-to-install software for users. These methods include installation packages or commands that install different software components in one go.
Do you know when running these files or installation commands exactly what happens in the background of the operating system?
In this article, we’re going to look at how to install software on three major desktop operating systems: Windows, Mac, and Linux.
Installation Techniques
There are several ways to install and run new software on the computer, which are in the order of complexity:
Software compilation, which is most commonly used by professional users, and is referred to as the program creation process through its source code.
Software Archives, which is called open files like ZIP and software execution.
Installer Packages are referred to as the installer installation process.
Software Managers / Stores, which refers to the choice of the software you are looking for from an easy-to-use interface, such as what happens when you install software from a computer program.
In this article, we will focus more on the installation package, because the store / software manager rely on the same way and use the same packages in the operating system background.
Looking at the current operating systems, Windows, Mac, and Linux, we’ll outline how to create these packages.
In this article, we’ll look at what’s going on when installing and running these packages.
Windows
In Windows, users usually encounter two software installation packages; the first category is called executable files (EXEs) that are able to copy files at the desired location and make changes to the Windows registry.
To the second kind, MSI installation packages are said to be able to provide other standards, such as software uninstall, in addition to the features of EXE files.
You can use the 7-Zip software to view the archive content of the EXE and MSI installation files.
For example, if we look at our 7-Zip installation file using this software, different files are visible.
These files are not foldered in the installation file, and software developers refer each file to a specific directory for installation.
Most of these files are copied to the default Windows installation location (C: \ Program Files \ program name or C: \ Program Files (x86) \ your new app).
Software developers can customize the installation process and specify its details using a professional tool such as InstallShield software.
For example, developers are able to specify the version of Windows where software is installed on it, create a shortcut for software in the start menu or desktop and record user information such as name, address, and so on.
In the sample project shown in the screenshot below, you will see a page of InstallShield software that displays the settings for updating or creating a new record in the Windows registry.
InstallShield software stores the files and other installation settings in a file called setup.exe.
By opening this file with the 7-Zip software, a MSI installation file is visible, which performs the installation process similar to that familiar to most users.
Let’s look at the details of the software installation process in Windows.
The installation process in Windows
The Installer on Windows installs the following steps, and the steps are related to the settings applied by the software developers:
Each installer may include archives or other installation files such as MSI or CAB. In the first step, the installer copies all content locally.
In the next step, Installer examines all the requirements that the installation and execution process depends on.
If any of these essentials are not available, the installer will download them or, if this is not possible, issue an error message to the user.
If the installation process requires a specific program that is not available, then that program will be installed first and then the original installation process will begin.
These include the installation of the .NET Framework. Before installing some programs.
Then the installer attempts to copy the software files in their designated locations.
At this point, if the Installer developers consider shortcuts for their software, the shortcut will be created. The shortcut file references the user’s command to execute the application to the program’s main executable file.
This step can be personalized and changed during installation.
If there is a need for a change in the Windows Registry, then changes are required.
At the final installation stage, the user may be asked to enter information such as the name or website address.
All of these steps in the process of installing software on the Windows operating system may seem complicated compared to the installation process in the next operating system.
macOS
The software installation process in Windows involves lots of steps in the operating system background. On the contrary, installing macOS software usually involves downloading the program, opening the DMG file or Apple Disk Image, and going through a few simple steps.
Even in some cases, the installation file, Drag and Drop, and install the program are very easy for users.
In these files, the user usually encounters Drag here. We will look at the macOS app installer and PKG installation files.
Installation package structure in macOS
The installation process of the software using the APP installation file is much simpler than the one in Windows; first, the APP file is in fact a standard folder.
The only difference that exists in this file is the APP extension. This file is. If this file is downloading on Windows, users will see it as a regular Windows folder.
The second reason is that the APP file includes all the essentials and stuff that an application needs to run, and no longer has to worry about incomplete files or the download process before installing the program.
These files contain three essential parts in the installation folder:
The Info.plist file that contains the program metadata, such as name, language, version number, etc.
The MacOS directory that contains the program’s main files.
The resource directory, which contains items such as the main application icon and so on
The app needs them to run.
Other optional folders may also be find in these files, and we’ll list some of them below.
The Frameworks folder is a public folder that some programs need to function, or plug-ins that include features of the program that do not require separate execution, as well as SharedSupport, which includes sub-data such as templates.
Unlike APP files, the PKG installation file in MacOS has the same installation process as the Unix-based Windows.
You can view the contents of the PKG file compressed in xar format using the 7-Zip software.
Inside this file there are one or more original files in the archives. To remove PKG file content, the following command is used in the Mac or Linux Terminal.
Cpio is an archive and program format for making changes to archive files. After executing this command, the user will be able to view the directory, similar to what is common in Unix.
The following example uses the Pandoc converter software to display the contents of a PKG file.
This software contains binary information in / usr / local / bin and other files in the / usr / local / share / man directory.
To find out how these files are installed on the Mac, we will look at the installation process on Apple’s operating system.
As you can see in the screenshot, the Windows 7-Zip version is used to display the contents of the file instead of the Linux version and its command line.
The process of installing the APP file in macOS
When the user copies the APP file to the Applications folder on the Mac, many changes are not made.
As previously mentioned, all of the items needed to run the program are available in this file.
The only difference that this process has with a normal pull and release of other files is the filing of the Info.plist file is a new program in the system.
The Info.plist file records settings for running the program, displaying a specific icon, files supported in this program, and so on.
In addition to these, the user’s application, in the example below, is the APP’s version of the program for editing the Atom text editor.
The process of installing the PKG file in macOS
Opening the PKG file in Apple’s desktop operating system will start the process that has similarities to the wizard in Windows.
In simple applications, this file usually installs program components that include the following steps:
Run pre-installed scripts
Copy the original content of the program to a computer
Run scripts after installation
Developers in PKG files can add other components to the process of installing their products.
These sections include displaying the End User License Agreement (EULA), collecting information about the user, and selecting the different parts of the software to be installed.
During these same steps, the installation file staged a step-by-step installation of the software in the operating system background.
Linux Ubuntu and Fedora
The two DEB and RPM installation packages each have their own pro-fan support in the Linux operating system, and as the debate over vi or emacs, as well as KDE or GNOME is always in the pipeline, the controversy over the DEB and RPM excellence is always hot.
Linux package file structure
To view the contents of the DEB file, you can use the graphical user-interface archiving programs, or use the ar command instead.
By entering the command below, in the Linux terminal, the contents of the Debian package are removed.
As a result of this command, three files are visible:
The control.tar.gz file that contains the main file is Control. The control file includes a package metadata such as the official name, version and the factors that the program relies on.
This file may also include other sections, such as scripts that are running during the installation process, and default file settings.
The data.tar.gz file, which contains the main files of the program, are in the TAR.GZ archive. All binaries, files, and default settings are in this section.
As you can see, the kde-service-menu-encfs_0.5.2_all.deb sample file included in the image below contains various files and directories.
The debian-binary file, where there are descriptions of the Debian package file version. In the new operating systems, this description consists of just one line and 2.0.
In Fedora Linux, you can use rpm2cpio and cpio commands to extract RPM package content.
For the kde-cli-tools-5.9.4-2.fc26.x86_64.rpm sample package, the same files are visible with DEB, except that the RPM package does not contain metadata files.
In this case, the user must have the source file RPM or SRC.RPM. Fits your binary version.
In this file, there is a file call SPEC,
which contains the same files as the Control file in the Debian package.
Now, in brief with the structure of the Linux package, we will examine the installation process in these packages.
The installation process of the package in Linux
When a user installs one of the DEB or RPM packages,
in spite of the differences in appearance between the two, the following steps occur:
The package system examines the content of the package to ensure that all the requirements for the installation of the program are ensure.
Due to the tool using for this task, an error message is issue to the user or,
if possible, downloaded the required files.
If the package includes scripts pre-installed, they will be run first.
The package system then removes the original files.
After the files are copying to the desire location, the scripts wil be execute after installation.
In the final step, the package is record using metadata in the system
and the possibility of uninstalled program in the future will be provided.
The importance of knowing the steps and software installation process
Because processors and software developers struggle to simplify the software installation process,
the awareness of the details of the process is not necessary,
but the awareness of the installation process helps the user to ensure that files are installing correctly and securely on their computer.
The likelihood of installing malware or junk files decreases with increasing user awareness. Awareness of the installation process is also helpful in fixing system defects and errors.