Software Installation & Maintenance — Reference Notes
Software Installation & Maintenance
A Complete Reference Guide
Software types, selection, installation, configuration, user accounts, data backup, testing, updates, maintenance,
and performance monitoring.
Page 1 of 9
Software Installation & Maintenance — Reference Notes
Contents
1. Types of Computer Software
2. Factors to Consider When Selecting Software
3. Pre-Installation Checklist
4. Types of Software Distribution
5. Steps in Software Installation
6. OS-Specific Installation Notes (Windows, macOS, Linux)
7. Silent, Unattended & Enterprise Deployment
8. Licensing & Activation
9. Configuration Settings After Installation
10. Procedures to Configure Installed Software
11. Steps in Creating a Local User Account
12. Data Backup: Importance and Methods
13. Methods to Test Software Functionality
14. Steps in Software Testing
15. Corrective Measures During Software Testing
16. Procedures During Software Updates
17. Uninstalling / Removing Software
18. Software Maintenance Activities
19. Components of a Software Maintenance Schedule
20. Performance Monitoring Tools
21. Troubleshooting Common Problems
22. Security Best Practices
23. Quick-Reference Checklist
Page 2 of 9
Software Installation & Maintenance — Reference Notes
1. Types of Computer Software
System Software
• Operating systems — manage hardware and provide the platform for other software (Windows, macOS, Linux, Android,
iOS).
• Device drivers — let the OS communicate with hardware (printers, graphics cards, network adapters).
• Utility software — maintenance tools such as antivirus, disk cleanup, backup, and compression tools.
• Firmware — low-level software embedded in hardware devices (BIOS/UEFI, router firmware).
Application Software
• Productivity software — word processors, spreadsheets, presentation tools.
• Business/enterprise software — ERP, CRM, accounting, and payroll systems.
• Creative & multimedia software — image, video, and audio editing tools.
• Communication software — email clients, messaging apps, video conferencing tools.
• Web browsers and internet applications.
• Entertainment software — games, media players, streaming apps.
Other Classifications
• Programming software — compilers, interpreters, IDEs, debuggers used to write other software.
• Freeware, shareware, open-source, and commercial (proprietary) software — classified by licensing model rather than
function.
• Cloud-based (SaaS) vs. locally installed software — based on where the software runs and is maintained.
2. Factors to Consider When Selecting Software
1. Compatibility — works with the existing operating system, hardware, and other installed applications.
2. Functionality/features — meets the specific tasks and requirements it is needed for.
3. Cost — purchase price, subscription fees, licensing model, and total cost of ownership.
4. Ease of use — user interface, learning curve, and available training/documentation.
5. Vendor reputation and support — availability of technical support, updates, and an active user community.
6. Security — track record of vulnerabilities, encryption support, and how frequently it is patched.
7. Scalability — whether it can grow with increasing users, data, or workload.
8. System requirements — CPU, RAM, storage, and OS version needed to run it well.
9. Licensing terms — number of permitted installs/users, renewal terms, and restrictions.
[Link] — ability to work with other tools already in use (file formats, APIs, plug-ins).
[Link] and testimonials — feedback from existing users and independent reviewers.
[Link] availability — whether a demo or free trial exists to test before committing.
3. Pre-Installation Checklist
[Link] system requirements: OS version, architecture, CPU, RAM, and free disk space.
[Link] only from official or trusted sources.
[Link] file integrity via checksum (SHA-256/MD5) or digital signature when available.
[Link] up important data and, on Windows, create a System Restore point.
[Link] unnecessary running programs, especially conflicting antivirus software.
[Link] the license agreement (EULA).
[Link] for conflicting or older versions of the same software already installed.
Page 3 of 9
Software Installation & Maintenance — Reference Notes
[Link] you have administrator/root permissions if required.
4. Types of Software Distribution
• Standalone installer (.exe, .msi, .dmg, .pkg) — walks the user through setup.
• Package manager install — via apt, dnf, Homebrew, Chocolatey, winget, etc.
• Portable/no-install software — runs directly (.zip, AppImage).
• App store distribution — Microsoft Store, Mac App Store, Snap Store, Flathub.
• Compiled from source — building the application from source code.
5. Steps in Software Installation
[Link] the installer from an official/verified source.
[Link] the file (checksum/signature) and scan it with antivirus if unsure.
[Link] the installer with the correct permissions (administrator/root as needed).
[Link] the license agreement (EULA).
[Link] the install type — Typical/Express or Custom — and select install location/components.
[Link] any bundled or unwanted add-on software.
[Link] the installer to copy files, register dependencies, and create shortcuts.
[Link] a product/license key if required.
[Link] the computer if prompted.
[Link] the application to confirm it installed and runs correctly.
6. OS-Specific Installation Notes
Windows
• Run the .exe or .msi installer, using "Run as administrator" if needed.
• Alternative methods: Microsoft Store, winget, Chocolatey, Scoop.
• Enterprise deployment: Group Policy, Microsoft Intune, SCCM.
macOS
• Mount the .dmg and drag the .app into Applications, or run the .pkg installer.
• Gatekeeper may require "Open Anyway" in System Settings → Privacy & Security for unidentified developers.
• Package managers: Homebrew, MacPorts.
Linux
Distro family Manager Example command
Debian / Ubuntu APT sudo apt install <package>
Fedora / RHEL DNF / YUM sudo dnf install <package>
Arch / Manjaro Pacman sudo pacman -S <package>
Cross-distro Snap / Flatpak snap install / flatpak install <package>
7. Silent, Unattended & Enterprise Deployment
• Silent install — runs with no UI, using switches such as /S, /quiet, or -silent.
• Unattended install — minimal UI (e.g., a progress bar) with no input required, often via an answer file.
• Deployment tools — Intune, SCCM, Group Policy (Windows); Jamf (macOS); Ansible, Puppet, Chef (cross-platform).
• Golden images — pre-configured OS images cloned onto new machines with standard software already installed.
Page 4 of 9
Software Installation & Maintenance — Reference Notes
8. Licensing & Activation
• Read the EULA for usage limits and restrictions.
• Enter product/license keys during or after installation.
• Online activation validates the install against a licensing server.
• Volume licensing lets organizations activate many installs from one key or license server.
• Open-source licenses (MIT, GPL, Apache) govern reuse and redistribution of source code.
9. Configuration Settings After Installation
• Language, region, and date/time format preferences.
• Default file save locations and file-association settings.
• User account/profile setup and sign-in to associated online services.
• Network and proxy settings, if the software connects to the internet or a server.
• Startup behavior — whether the program launches automatically with the OS.
• Update preferences — automatic vs. manual update checks.
• Security settings — permissions for camera, microphone, file access, or firewall exceptions.
• Integration settings — connecting to cloud storage, email, or other installed applications.
• Keyboard shortcuts, themes, and interface customization.
10. Procedures to Configure Installed Software
[Link] the application's Settings/Preferences/Options menu.
[Link] and set general preferences (language, startup behavior, appearance).
[Link] account or license details, including signing in where required.
[Link] up file locations, default formats, and auto-save behavior.
[Link] security and privacy permissions to the minimum needed.
[Link] connections to other systems (databases, printers, cloud services, plug-ins).
[Link] the configuration by performing a typical task.
[Link]/export the configuration profile if the tool supports it, for future reuse or reinstall.
[Link] any non-default settings for future reference or for other users on shared machines.
11. Steps in Creating a Local User Account
Windows
[Link] Settings → Accounts → Family & other users (or Other users).
[Link] "Add account" and choose "I don't have this person's sign-in information."
[Link] "Add a user without a Microsoft account" to create a local account.
[Link] a username and password (and password hint/security questions).
[Link] the account type — Standard User or Administrator.
[Link] and finish; the new account appears at the sign-in screen.
macOS
[Link] System Settings → Users & Groups.
[Link] "Add Account" (authenticate as an administrator if prompted).
[Link] the account type (Standard, Administrator, or Managed).
[Link] the full name, account name, and password.
[Link] "Create User" to finish.
Page 5 of 9
Software Installation & Maintenance — Reference Notes
Linux
[Link] a terminal and run: sudo adduser <username> (Debian/Ubuntu) or sudo useradd -m <username> (other distros).
[Link] the password with sudo passwd <username>.
[Link] the user to any needed groups, e.g. sudo usermod -aG sudo <username> for admin rights.
[Link] by switching to or logging in as the new user.
12. Data Backup: Importance and Methods
Importance of Data Backup
• Protects against data loss from hardware failure, corruption, or accidental deletion.
• Provides recovery from ransomware, malware, or other security incidents.
• Enables rollback if a software installation or update causes problems.
• Supports business continuity and compliance requirements.
• Reduces downtime and financial loss from data loss events.
Methods of Data Backup
Method Description
Full backup Copies all selected data every time; simplest to restore but slowest and largest
Incremental backup Backs up only data changed since the last backup of any type; fast, but restore requires
the full chain
Differential backup Backs up data changed since the last full backup; faster restore than incremental, larger
than incremental over time
Local backup Copies stored on an external drive, NAS, or secondary internal drive
Cloud backup Data copied to a remote server via the internet (e.g., OneDrive, Google Drive, dedicated
backup services)
Mirror backup An exact, continuously synced copy of the source data
Image-based backup A complete snapshot of a disk or system, including the OS, settings, and files, used for
full system recovery
A common best practice is the "3-2-1 rule": keep at least 3 copies of data, on 2 different types of media, with 1 copy stored
off-site.
13. Methods to Test Software Functionality
• Manual testing — a person interacts with the software and checks behavior against expectations.
• Automated testing — scripts or tools run predefined test cases without manual input.
• Unit testing — verifying individual functions or components work correctly in isolation.
• Integration testing — checking that different modules or systems work together correctly.
• System testing — testing the complete, integrated application against requirements.
• User Acceptance Testing (UAT) — end users verify the software meets real-world needs before go-live.
• Regression testing — re-running existing tests after a change to confirm nothing was broken.
• Performance/load testing — checking speed, responsiveness, and stability under expected or peak usage.
• Security testing — checking for vulnerabilities, such as unauthorized access or data exposure.
• Compatibility testing — verifying the software works across different OS versions, browsers, or devices.
14. Steps in Software Testing
[Link] — define the scope, objectives, and resources for testing.
[Link] requirements — identify what needs to be tested and expected outcomes.
[Link] test cases — write specific scenarios and expected results, including edge cases.
Page 6 of 9
Software Installation & Maintenance — Reference Notes
[Link] up the test environment — configure hardware/software that mirrors production where possible.
[Link] the tests — run manual or automated test cases and record actual results.
[Link] defects — document any bugs found, with steps to reproduce and severity level.
[Link] — verify fixes resolve the reported defects.
[Link] regression testing — confirm fixes haven't introduced new problems.
[Link] results — summarize pass/fail rates, outstanding issues, and overall readiness.
[Link] off — obtain approval to release or deploy the software.
15. Corrective Measures During Software Testing
• Isolate and reproduce the defect consistently before attempting a fix.
• Prioritize issues by severity and impact (critical, major, minor, cosmetic).
• Apply a code fix or configuration change and document what was changed.
• Re-test (retest) the specific case to confirm the fix works.
• Run regression tests to ensure the fix did not break other functionality.
• Roll back to a previous stable version if a fix introduces serious new problems.
• Update test cases and documentation to reflect the corrected behavior.
• Communicate the resolution to stakeholders and close the defect ticket.
16. Procedures During Software Updates
[Link] release notes to understand what the update changes, fixes, or requires.
[Link] up data and, where possible, create a restore point or system snapshot before updating.
[Link] compatibility of the new version with the OS and other installed software.
[Link] the update during low-usage periods to minimize disruption, especially in business settings.
[Link] the update from an official source or the software's built-in updater.
[Link] the application (and any dependent services) before installing the update.
[Link] the update and restart the system if required.
[Link] the new version number and test core functionality after updating.
[Link] back to the previous version or restore point if the update causes serious issues.
[Link] the update (date, version, changes) for future reference.
17. Uninstalling / Removing Software
OS How to uninstall
Windows Settings → Apps → Installed apps → Uninstall, or Control Panel → Programs and Features
macOS Drag the app to Trash; some apps include a dedicated uninstaller for leftover files
Linux sudo apt remove <package> (--purge for configs), sudo dnf remove <package>, snap remove,
flatpak uninstall
18. Software Maintenance Activities
• Corrective maintenance — fixing bugs and defects discovered after release.
• Adaptive maintenance — modifying software to work with new OS versions, hardware, or regulations.
• Perfective maintenance — improving performance, usability, or adding enhancements based on user feedback.
• Preventive maintenance — restructuring or updating code/systems to prevent future problems (e.g., patching known
vulnerabilities before they're exploited).
• Routine housekeeping — clearing cache/temp files, checking logs, and confirming backups are running.
• License and compliance review — confirming licenses are current and usage stays within terms.
Page 7 of 9
Software Installation & Maintenance — Reference Notes
19. Components of a Software Maintenance Schedule
• Inventory of software and versions covered by the schedule.
• Frequency of maintenance tasks (daily, weekly, monthly, quarterly, annually).
• Specific tasks per interval (e.g., weekly updates check, monthly backup test, quarterly security audit).
• Responsible person/team for each task.
• Maintenance window/timing to minimize disruption to users.
• Backup and rollback plan in case a maintenance task causes issues.
• Documentation and logging requirements for completed tasks.
• Escalation procedure for issues found during maintenance.
• Review and update cycle for the maintenance schedule itself.
20. Performance Monitoring Tools
Tool / Category Purpose
Windows Task Manager / Resource Monitor Real-time CPU, memory, disk, and network usage on Windows
macOS Activity Monitor Real-time process and resource usage on macOS
Linux top / htop / vmstat Command-line monitoring of CPU, memory, and processes on
Linux
Performance Monitor (PerfMon) Detailed, logged Windows performance counters over time
Nagios / Zabbix / PRTG Enterprise infrastructure and network monitoring with alerting
Application Performance Monitoring (APM) Tracks application-level response times, errors, and transaction
tools (e.g., New Relic, Datadog, AppDynamics) performance
Event Viewer / system logs Records errors, warnings, and system events for diagnostics
21. Troubleshooting Common Problems
Problem Likely fix
"Access denied" / permission error Run as administrator (Windows) or with sudo (Linux); confirm admin rights
on macOS
Installer hangs or freezes Check disk space; temporarily disable antivirus; re-download the file
Missing dependency error Install the required runtime first (.NET, Visual C++ Redistributable, a library
version)
Corrupted or incomplete download Re-download and verify the checksum before running it
"App can't be opened" (macOS Right-click → Open, or allow it in Privacy & Security settings
Gatekeeper)
Installation succeeds but app won't Check logs, reinstall, and confirm system requirements are met
launch
22. Security Best Practices
• Only install software from official vendors, app stores, or trusted repositories.
• Avoid cracked, pirated, or "key generator" software.
• Verify checksums or digital signatures when provided.
• Grant only the permissions a program actually needs.
• Keep an inventory of installed software and remove anything unrecognized.
• Regularly review and uninstall unused software to reduce the attack surface.
• Keep systems and applications updated to close known vulnerabilities.
• Encrypt and test backups regularly so they're actually usable in a real recovery.
Page 8 of 9
Software Installation & Maintenance — Reference Notes
23. Quick-Reference Checklist
• ☐ Confirm the software type and selection factors fit the need
• ☐ Confirm system requirements
• ☐ Download from an official/trusted source and verify checksum
• ☐ Back up data / create a restore point
• ☐ Install with correct permissions, declining unwanted extras
• ☐ Restart if prompted, then configure settings and preferences
• ☐ Set up or confirm user accounts and access permissions
• ☐ Test core functionality and correct any defects found
• ☐ Apply updates through a controlled, backed-up procedure
• ☐ Schedule ongoing maintenance and performance monitoring
• ☐ Keep a record of installed software, configurations, and maintenance history
Page 9 of 9