Application Launcher

This Launcher is a C# compiled executable that interprets a local XML configuration file to install or remove a software package. It is designed to separate the complexity of logic that can surround a software installations from configuration information while providing an audit mechanism over a software library.

The Launcher is an evolution to a standardised deployment “wrapper” that provides a standardised interface for all applications.  It separates configuration information from the logic of installing and uninstalling applications.


The Launcher:

  • Adds efficiency to packaging teams as it removes the repetition of remembering and manually typing installation commands as the launcher will run through an Installation sequence whenever called and removal sequence when called with a "/Remove" command.
  • Adds efficiency to software deployment as the complexity of installation command syntax is removed which allows for the automated import of packages without the need for manual translation.
  • Allows for every software package to be uniquely audited for a configuration management library.
  • Uninstalls old versions of an MSI based application & prevent upgrade logic from being invoked
  • Allows software installs, patch installs and configuration changes to be strung together into a single package that can be deployed independently of SCCM
  • Enables SCCM repair for more than the 1,000 application limit


Launcher.exe reads an Install.xml file to determine installation and removal steps.  This is extremely useful when application packaging staff need to repeatedly test the syntax of commands for installing and removing a package.  Utilising XML allows a programatic passing of packages between Packaging and deployment teams that isn't possible when a package definition exists in Word documents.

The Install.xml File Structure

All Packages have Install and Remove sections.  Arguments for the various Installer items alter depending on the Installer types.

Current Installer types supported are:

MSI, MSU, MSP, EXE, VBS, CMD and Powershell along with MSI Removal types.

Further Links

More detailed information about the workings of the utility is here.

Example XML Syntax

SCCM Integration 

C# Project Source

The compiled (Dot Net 4) Launcher may be downloaded here.

Anyone interested in Standardising and Automating applications will have an interest in automating SCCM Application creation.

Creating SCCM Applications with Powershell

Constructing SCCM Rules with Powershell

Creating SCCM Global Conditions

Example Scripting - SCCM 2012 Application Dependencies

An alternative is to use C# to create an Appliction Loading utility - all made possible by using XML configurtion files for each application.  The source files at the link belowneed refreshing to support Dot net 3 and 4 launchers but it will give a good idea of what is posible.

Automated SCCM Application and Collection Creation