4.06 Apply application installation and configuration concepts
Introduction
Think of your computer like a finely-tuned machine, where every part needs to be in perfect sync for it to run smoothly. Just as a car requires the right type of fuel and engine components to function properly, software applications require specific hardware and software configurations to operate effectively on your computer.
In this lesson, we'll cover how to make sure your system meets these requirements, explore compatibility issues, and understand different methods for installing and managing software. Mastering these concepts will help you avoid technical hiccups, maintain security, and ensure your machine runs at its best, whether you're at home or managing a network in a professional setting. Let's get started on tuning your computing environment for peak performance!

Understanding System Requirements for Applications
To run third-party software effectively, your PC must meet specific system requirements. These requirements detail the necessary hardware and software specifications, which are usually provided by the app vendor.
Key Hardware Requirements for Applications
1. CPU Performance and Compatibility
The Central Processing Unit (CPU) must meet certain performance criteria to run applications.
Applications are available in 32-bit and 64-bit versions. A 64-bit application requires a 64-bit CPU and operating system and cannot run on a 32-bit platform.
32-bit applications can typically run on a 64-bit system.
Some applications may also require:
A specific CPU generation (e.g., Intel Core i5 or newer)
A minimum clock speed (e.g., 2.5 GHz)
A specific number of cores (e.g., dual-core, quad-core)
Certain CPU features like hardware-assisted virtualization or a Trusted Platform Module (TPM)
If a required feature is missing, check the system setup (BIOS/UEFI) to ensure it hasn't been disabled.
2. Memory and Storage Needs
System Memory (RAM):
Applications may specify a minimum amount of RAM needed to run smoothly, assuming no other programs are running in the background.
Running multiple applications simultaneously will require more RAM.
Storage Requirements:
This refers to the disk space needed for software installation.
Additional space may be needed for files created during use, such as user data, temporary files, and logs.
3. Graphics Requirements
Integrated vs. Dedicated Graphics
Integrated Graphics: Part of the CPU or motherboard chipset.
Dedicated Graphics Card: A separate card with its own video RAM.
Applications like graphic design software or games may require a dedicated graphics card for optimal performance.
If the graphics card does not meet the minimum specifications, the installation cannot proceed.
4. Security Requirements
External Hardware Tokens for Authentication
Some applications may require a more secure authentication method than just a password.
External hardware tokens (such as smart cards or USB devices) are used to store cryptographic identification data.
Users must provide both the hardware token and a secondary authentication method, like a password, PIN, or fingerprint scan.
By ensuring your PC meets these requirements, you can run desired applications smoothly and securely.

Ensuring Application Compatibility with Your Operating System
Software applications have specific operating system (OS) requirements to ensure they run properly. Understanding these requirements is essential for selecting the correct version and maintaining compatibility.
Compatibility with the Operating System
Application to OS Compatibility:
Every software application is designed to run on a specific OS.
For example, an application made for macOS will not run on Windows, and vice versa. It is important to select the correct version of the software for your operating system.
Version Compatibility: Software might not always be compatible with newer versions of an OS. For instance, an application that worked on Windows 7 might need an upgrade to run on Windows 10. Always check for software updates when upgrading your OS.
Compatibility in Linux
In Linux, different package formats are used, but compatibility between distributions (distros) is usually not a significant issue.
If an application is not available in a specific package format for your Linux distro, it can often be compiled manually from its source code.
32-bit vs. 64-bit Compatibility
64-bit Software Requirements:
If an application is 64-bit, both the CPU and the OS must be 64-bit to run it.
32-bit Software Compatibility:
A 32-bit application can run on both 32-bit and 64-bit systems.
In 64-bit Windows, 32-bit applications run in a special environment called WOW64 (Windows on Windows 64-bit). This environment allows 32-bit software to function correctly by translating its requests to be compatible with the 64-bit CPU, memory, and file systems.

Analogy: WOW64 is like a translator at a party where the guests speak different languages. Imagine a 64-bit computer as the host of the party, where most of the guests speak the native 64-bit language. However, some guests only know the older 32-bit language.
WOW64 acts like an interpreter that translates between the 32-bit guests and the 64-bit host. It ensures that the 32-bit guests can still interact with the party (i.e., the 64-bit operating system), even though they don’t speak the same language. The interpreter (WOW64) ensures that the 32-bit programs run smoothly on a 64-bit system by translating their instructions and handling the differences in memory access and processing power. This allows older 32-bit software to function as though it’s still running in its own familiar environment.
File and System Folder Structure in Windows
File Installation Locations:
In a 64-bit Windows system, 32-bit applications are installed in the Program Files (x86) folder.
64-bit applications are installed in the Program Files folder.
System File Locations:
64-bit shared system files (DLLs and EXEs) are stored in the %SystemRoot%\system32 directory.
32-bit system files are stored in %SystemRoot%\syswow64.
By understanding these OS requirements, you can ensure that your software applications are compatible with your system, run efficiently, and utilize the correct environment for optimal performance.
Methods for Distributing Software Applications
Distribution methods refer to how software vendors make their applications available for installation. These methods can vary depending on the platform and the application's complexity.
App Stores:
Many applications are distributed through app stores (e.g., Microsoft Store, Mac App Store).
In these cases, the installation process is automated, making it easy for users to download and install apps directly from the store interface.
Setup Files:
Desktop applications are typically installed using a setup file. The file type varies by operating system:
Windows: Uses .EXE or .MSI files.
macOS: Uses .DMG or .PKG files.
Linux: Uses DEB packages with the APT package manager or RPM packages with YUM.
The setup file contains the application’s executable(s), configuration files, and media files. During installation, these files are extracted and copied to a specific directory designated for application use.
Physical Media and Downloads:
Setup files can be distributed on physical media like CDs, DVDs, or USB drives.
They can also be downloaded from the Internet. When downloading from the Internet, it is crucial to:
Verify the authenticity and integrity of the package.
Scan for malware to ensure the installer is safe.
Windows uses digital signatures to verify the legitimacy of software and its developer.
Linux relies on hash values to ensure the software's integrity. After downloading, users should generate a hash of the package and compare it to the hash published by the package maintainer.
Additional Distribution Methods:
ISO Files:
An ISO file is a single file containing the complete contents of an optical disc.
ISO files are often used for installing virtual machine operating systems or complex applications (like databases) with multiple components and large files.
In Windows, users can mount an ISO file by right-clicking it and selecting Mount. The ISO will then appear in File Explorer with an assigned drive letter.
By understanding these distribution methods, users can choose the best installation process for their needs while ensuring the software's safety and compatibility with their system.
Additional Considerations for Deploying New Applications
When deploying new applications, it's crucial to assess and mitigate potential impacts to maintain a secure and efficient computing environment. The IT department should have control and oversight of all third-party software installed on network hosts, as unsanctioned software—known as shadow IT—can pose significant operational and business risks.
Impact on Business
1. Licensing
Commercial software must be used according to its license terms, which may restrict:
The number of devices on which the software can be installed.
The number of users who can access the software.
Installing unlicensed software can expose the company to financial and legal penalties.
2. Support
Software may come with paid support options to:
Obtain updates.
Monitor and address security issues.
Provide technical assistance.
Alternatively, support can be managed by internal staff, but this requires assessing the impact on IT operations.
3. Training
Complex applications often require extensive user training, which can be costly.
Ongoing training may be needed as:
New versions introduce changes to the interface or features.
New employees require initial training.
If the application is supported internally, technical training for staff may be necessary to ensure they can maintain the application securely.
Impact on Operations
When deploying a new application across multiple desktops, consider its operational impacts:
Automated Deployment Tools: For large-scale deployments, IT departments often use automated tools to install, update, and support applications.
Network-based installers can be used to deploy applications from a shared folder on the network.
In Windows, Group Policy Objects (GPOs) can automate application installations without manual intervention, allowing apps to be installed remotely.
Local Security Policy Windows 11
Analogy: Group Policy Objects (GPOs) are like the rules a school principal sets for all classrooms. Imagine each classroom is a different computer or user in a network, and the principal (network admin) uses GPOs to set certain rules, like what time recess is or whether phones are allowed in class.
When the principal sets a rule (like “no phones”), it automatically applies to all classrooms unless there’s a special exception. Similarly, GPOs help network administrators enforce settings like security policies, software configurations, and user restrictions across all computers or users in the network. Everyone follows the same rules—unless they have a unique exception otherwise—making it easier to manage large groups.
Security Controls:
Using tools like GPOs prevents users from needing administrator privileges to install software, limiting the risk of unauthorized changes or installations that could compromise security.
Deployed applications run using a service account, restricting modification rights to administrators.
User Permissions:
To run an application, users need read/execute permissions over the installation directory.
Files created with the application or user-specific settings should be saved in the user's home folder/profile, not in the application directory.
Impact on Devices and Networks
Proper security measures are essential when selecting applications to ensure they do not compromise the device or network:
Security Threats:
The main threat is from Trojan Horses—malicious software disguised as legitimate.
Malicious software could steal data or provide unauthorized remote access.
Setup files could also be infected with viruses.
Mitigation Strategies:
Only install software from trusted sources.
Ensure the installer is digitally signed by a reputable publisher.
Performance and Compatibility:
Software may consume more CPU, memory, or network bandwidth than expected, impacting performance.
There could be compatibility issues with other applications.
Unpatched vulnerabilities in the software could allow malware to spread across the network.
Testing and Security:
Ideally, test applications in a lab environment before wider deployment.
Research any security advisories related to the software.
Ensure the developer has a strong approach to identifying and fixing security issues.
By considering these factors, you can minimize risks and ensure that deploying new applications does not negatively impact your organization's security or operational efficiency.
Summary
Great job on completing this lesson! You've learned how to ensure your system meets the right requirements for running applications smoothly and securely, understand compatibility across different operating systems, and explore effective software deployment methods. By mastering these concepts, you're well on your way to maintaining a robust, efficient, and safe computing environment. Keep applying what you've learned, and you'll be ready to tackle any software challenges that come your way!