Information Communication Technology  ·  Level 6
Desktop Application
Chapter 4: Deploy desktop application
📚 4 Topics
⚑ What you will be able to do

By the end of this chapter, you will be able to:

  • package a desktop application correctly by following workplace procedures
  • develop a clear deployment plan that meets the user's specific requirements
  • install the desktop application safely and accurately according to workplace standards
  • conduct effective user training for the desktop application following workplace procedures

Mastering these skills ensures your applications are delivered smoothly and users can confidently use them, making you a valuable part of any tech team.

Deploying desktop applications is a critical skill for ICT Technicians working in Kenya's dynamic technology environment. Effective deployment ensures that software reaches end users with minimal disruption and optimal performance, whether in a hospital's patient management system or a county government's financial office. This chapter explores the essential processes of packaging desktop applications for deployment and the methods used to distribute them securely and efficiently.

4.1 Desktop Application Packaging

Packaging a desktop application involves preparing the software and all its components into a single, manageable unit ready for installation on end-user machines. This stage is crucial as it affects the ease of deployment, maintenance, and updates in diverse workplaces such as universities, banks, or retail outlets. A well-packaged application installs the same way on every computer, which is what makes the later steps of planning, installing and training predictable.

4.1.1 Overview of desktop application packaging

Desktop application packaging refers to the process of bundling an application’s executable files, libraries, resources, and configuration settings into an installer or a deployable package. This package must be designed to simplify installation, reduce errors, and ensure compatibility with target operating systems and hardware configurations.

Purpose of packaging

The main purpose of packaging is to create a reliable and repeatable installation process that can be easily deployed across multiple machines. For example, a cooperative society implementing a new accounting system benefits from a packaged application that allows quick installation on all staff computers without manual configuration on each device.

Components included in packaging

Packaging typically includes the main executable, dependent libraries (DLLs), configuration files, setup scripts, and sometimes prerequisites such as runtime environments. An education institution installing exam management software would require all these components to be bundled to avoid missing dependencies during installation.

Packaging formats

Common packaging formats include MSI (Microsoft Installer), EXE (executable setup files), and ZIP archives containing installation scripts. MSI files are favoured in many corporate environments, such as banks, because they support silent installations and group policy deployments.

Packaging tools

Tools such as Inno Setup, Advanced Installer, and Microsoft Visual Studio Installer Projects are widely used for creating installation packages. These tools allow customisation of the install process, including specifying registry changes, shortcuts, and uninstall options, which are essential for maintaining software integrity in government offices.

Name Specification Use
Inno Setup Script-driven tool that produces a single EXE setup file Building installers with custom wizard pages, shortcuts, registry entries and an uninstaller
Advanced Installer Graphical tool that builds MSI and other package types Creating packages for corporate deployment with silent install options and prerequisite checks
Visual Studio Installer Projects Extension for Visual Studio that builds MSI setup projects Packaging applications developed in Visual Studio without leaving the development environment

Benefits of proper packaging

Proper packaging reduces installation errors, enhances user experience, and facilitates easier software updates. In a hospital setting, well-packaged clinical software ensures that medical staff can reliably install and update applications critical to patient care.

4.1.2 Distribution of desktop application

Once an application is packaged, it must be distributed to end users securely and efficiently. The distribution method chosen affects how quickly and reliably the application reaches its intended users, especially in geographically dispersed organisations. Distribution must also respect the legal obligations attached to the software and be built on a sound installation package.

4.1.2.1 Desktop application legal and regulatory compliance requirements

Before an application is released, the developer or the deploying organisation must confirm that distributing and using it does not breach licensing, data protection or other legal obligations. Non-compliance can lead to withdrawal of the product, loss of customer trust and legal liability. For example, a software firm shipping a fee-collection application to schools must be sure that every library inside the package may legally be redistributed and that learner data is handled lawfully.

Key compliance areas to check before distribution:

  • Software licensing: Every commercial or third-party component bundled in the package must be licensed for redistribution. Installing more copies than the licence allows is a breach, so licence counts must match deployments.
  • Open-source licence terms: Open-source libraries carry conditions, such as keeping copyright notices or sharing source code in some cases. The team must read each licence and include the required notices in the package.
  • End-user licence agreement (EULA): The installer should display the terms of use and record the user’s acceptance. This sets out what the user may and may not do with the software.
  • Copyright and intellectual property: The application must not contain code, images, fonts or sounds copied without permission. Keeping a record of the source and licence of each asset protects the developer.
  • Data protection and privacy: Applications that collect or store personal data, such as customer or learner records, must follow data protection law. In Kenya this includes the Data Protection Act, 2019, so the application should collect only the data it needs, protect it, and explain its use in a privacy notice.
  • Cybercrime and security obligations: Software must not contain malicious code, hidden data collection or unauthorised access features. Security testing before release helps show the package is safe.
  • Sector-specific rules: Applications used in banking, health or government may need to meet additional rules set by the sector regulator or the client. The developer should confirm these requirements with the client before packaging.
  • Store and platform policies: Applications published through a store must meet that store’s content, security and privacy rules, or they will be rejected.

4.1.2.2 Best practices for creating installation packages

A good installation package installs cleanly, leaves the computer in a known state, and can be removed completely. Following agreed practices reduces support calls and makes deployment across many computers predictable. For example, an installer for a school’s timetabling software should check for the required runtime first, install only into approved folders, and offer a clean uninstall at the end of the term if the software is replaced.

Best practices to follow:

  • Include all dependencies: Bundle or detect required libraries and runtimes so the application does not fail on machines that lack them. Test on a computer that has never had the application installed.
  • Check system requirements: The installer should verify the operating system version, free disk space and memory before copying files, and stop with a clear message if the machine does not qualify.
  • Support silent installation: Provide command-line switches so IT staff can install without user input. This is essential for deploying to dozens of computers at once.
  • Use standard install locations: Place program files, user data and settings in the folders the operating system expects. This avoids permission problems and keeps updates simple.
  • Provide a complete uninstaller: Removal should delete program files, shortcuts and registry entries it created, while leaving user data where the user chooses. A clean uninstall also allows reinstallation after a fault.
  • Digitally sign the installer: A code-signing certificate proves who published the package and that it has not been altered. Unsigned installers often trigger security warnings that discourage users.
  • Version the package clearly: Give every build a version number and release notes so that upgrades, rollbacks and support requests can be matched to the exact package.
  • Test before release: Install, upgrade, repair and uninstall on clean test machines that represent the target environment, including different Windows versions. Record and fix every failure before distribution.
  • Document the package: Supply installation instructions, command-line options and known issues so that technicians can deploy it without contacting the developer.

4.1.2.3 Methods for distributing applications (e.g., direct download, app stores)

The method used to distribute an application depends on the number of users, their connectivity, the level of control needed and the security requirements. Some methods suit public products, others suit managed company networks. For example, a county government may use network shares to deploy tax collection software to all offices within the county, while a developer selling a small utility to the public may prefer a download page or a store.

Common distribution methods:

  • Direct download: The installer is placed on the developer’s website or a secure server and users download it themselves. It is cheap and flexible, but the developer must provide checksums or a signed installer so users can trust the file.
  • App stores: The application is published through an online store, such as the Microsoft Store for Windows applications. The store handles delivery and updates, and users gain trust from its review process, but the application must meet the store’s rules and the developer may pay fees or share revenue.
  • Physical media: USB drives and discs carry the installer to users with poor or costly internet access. This is slow to scale and the media must be scanned for malware before use.
  • Network shares: The package is stored on a shared folder and users or scripts run it from there. It works well inside a single office or campus, provided access rights are set correctly.
  • Email attachments: Small installers or update files can be sent by email, but many mail systems block executable files and the method is open to abuse. It is best limited to trusted recipients with a link to a secure location preferred.
  • Network deployment: Software is pushed to many computers over a local area network (LAN) or wide area network (WAN). Tools such as Microsoft System Center Configuration Manager (SCCM) give centralised control over who receives the application and when, which is effective for institutions like universities managing hundreds of computers.

Security considerations in distribution

Distributing software must consider security risks such as unauthorised access or malware injection. Using encrypted channels (for example HTTPS) and digital signatures for installers helps maintain integrity and trust, which is crucial for financial institutions such as SACCOs handling sensitive customer data. Publishing a checksum beside a download lets users confirm the file they received is the file that was released.

Update and patch distribution

Distributing updates and patches efficiently is vital to maintain software security and functionality. Automated update mechanisms integrated into the application or delivered through management tools ensure that users in retail businesses receive timely fixes without IT staff intervention.

Challenges in distribution

Challenges include bandwidth limitations, user access rights, and compatibility issues with existing systems. For instance, a remote health clinic may face slow internet speeds, requiring offline distribution methods such as portable media to deliver updates.

Practice Questions

  1. Explain why desktop application packaging is important in a county government office setting. (6 marks)
  2. Describe five components typically included in a desktop application package and their roles. (10 marks)
  3. Discuss three common methods of distributing desktop applications and their suitability for a university environment. (9 marks)
  4. Identify five security measures that should be considered when distributing desktop applications in a financial institution. (10 marks)
The rest of this chapter
🔒

Create a free account to open more of this chapter.

Free: practical guides, quick cards, workplace scenarios and more.

Create a free account
🔒4.2 Developing desktop application deployment plan

Developing a desktop application deployment plan is a critical phase in the software delivery lifecycle for ICT technicians in Kenya. This plan ensures that the deployment process aligns with organizational goals, minimizes disruption to business operations, a…

🔒4.3 Installation of desktop application

The installation of desktop applications is a critical phase in the deployment process for ICT technicians in Kenya. Whether installing software on individual workstations at a county government office or rolling out applications across a SACCO’s network, the…

🔒4.4 Desktop application user training

User training is a critical phase in the deployment of desktop applications, especially for ICT technicians working in Kenya’s diverse organizational environments such as county government offices, banks, and educational institutions. Proper training ensures u…

Chapter Summary

This chapter explored the essential aspects of deploying desktop applications, beginning with the packaging process which involves preparing the application for distribution while ensuring compliance with relevant legal and regulatory requirements. It highlighted best practices for creating installation packages and various distribution methods such as direct downloads and app stores. The development of a desktop application deployment plan was emphasized, explaining its importance and detailing different deployment strategies like phased and big bang approaches. The chapter also covered how to assess deployment requirements and formulate an effective plan. Installation procedures were discussed, including the use of deployment tools, execution of the deployment plan, and troubleshooting common issues that may arise. Finally, the chapter stressed the significance of user training, outlining different training methods, available resources, how to conduct training sessions, and the need for ongoing post-training support to ensure successful adoption of the application.

Self-Assessment

🔒 PDFDownload this self-assessment, with answers

A. Written Assessment

  1. What is the primary purpose of desktop application packaging? (2 marks)
  2. Name three common methods for distributing desktop applications and briefly describe one. (3 marks)
🔒20 more in this section.

Chapter Examination Questions

🔒 PDFDownload these examination questions, with worked answers

SECTION A (40 Marks) - Answer ALL Questions

  1. Explain the significance of desktop application packaging in ensuring smooth software deployment in a county government office in Kenya. (4 marks)
  2. Describe three common methods for distributing desktop applications and identify one advantage of each. (4 marks)
🔒18 more in this section.
Flashcards 21 cards Study deck ▾
Question
1

↻ Tap card to reveal answer
🔒

19 more in this section.

Create a free account
Test Yourself 17 questions Start quiz ▾
0%
0 / 2
🔒

15 more in this section.

Create a free account
Am I competent?

At the start of this chapter we promised you would be able to:

  • package a desktop application correctly by following workplace procedures
  • develop a clear deployment plan that meets the user's specific requirements
  • install the desktop application safely and accurately according to workplace standards
  • conduct effective user training for the desktop application following workplace procedures

Tick each one you can genuinely do.

So, are you there yet?

You're competent when you can confidently do 50% or more of what this chapter promised.

Sign in to record how you're doing.