The Application Launcher has elements that are worth noting in regard to SCCM.
- The launcher automatically produces detailed Status mif files during deployment
- The launcher is configurable to relay exit codes from within a package to SCCM
- The launcher uses productcodes to uninstall previous versions of a product or remove unpackaged versions (based on the Productname property)
- A standard "signature" file is produced under C:\Windows\Logs\<Packagename> upon a successful install - important for automating SCCM detection methods.
The biggest element of the Launcher project is that it provides standardised interfaces for all software packages within SCCM. This allows Application objects and dependencies to be created and managed automatically based on the configuration management data within the package XML files.
This also means that every package is portable between domains and environments. The XML definition of a package allows an ability to fully audit software that isn't possible by relying on SCCM itself.
Automating SCCM Application Creation
In a recent blog I posted example code of using powershell to create SCCM applications by using XML files (http://www.laurierhodes.info/?q=node/61).
I've been using a custom written C# utility to create SCCM applications by parsing Install.XML files. This has included creating collections and linking dependency packages. A copy of the utility (and source code for those who are interested may be found at: http://www.laurierhodes.info/?q=node/76
Using XML as a launcher configuration file opens to possibility of change-controlled installers being hashed or digitally signed. It increases application turnaround by automating SCCM objects. It also ensures that no accidents can occur by mis-typing installer details within SCCM after software is received from an application packaging team.