Automated SCCM Application and Collection Creation
Windows Installer has been the default installation format on Windows machines for well over a decade now. The technology was elegant and powerful but proved too complex for the subtle quirks to be fully understood by many people working with technology.
Although MSI technology represents an object orientated approach of having self-contained package components install or remove on a machine, most Vendors had difficulty with the concepts and commonly used procedural types of scripts within their installers. This meant it became impossible to predict what would happen when Windows Installer packages tried to upgrade existing installations in a corporate environment – an element that was unacceptable for controlled environments.
The simple answer was for Deployment teams to use a standardised “wrapper” to ensure that any existing variants of a product were removed from a machine before an install was attempted. These wrappers or Install scripts also provided for standardised logging. On this site I have made available my own Launcher that provided a standardised interface for use with SCCM. I’ve tended to work in very large organisations where application packaging teams were separate to deployment teams. By using a Launcher with standard XML format it’s been possible to completely automate all elements of SCCM Application and Collection creation based on the configuration files received from Application Packaging.
An Example package using the Launcher
As all the details surrounding a software package are part of the package configuration information, these XML details can be accessed by a utility to creating Applications and collections.
I have attached an example utility for creating SCCM 2012 Applications and Collections based on the Install.xml package format used by the launcher. Anyone who is interested can grab a copy of the source code by sending me an email.
The Application creator parses the install.xml file found within each package directory to populate Application, Description, Manufacturer and Version details. All may be customised by the deployment engineer uploading the package.
Administrators can also configure default customisations for a particular site. This might include:
- Creating SCCM Applications within a particular folder of the SCCM console
- Prepending strings such as (App) etc. for every imported package
- Appending strings such as (App) etc. for every imported package
Collection creation is the same.
Rules can be configured for naming Mandatory and Available collections along with specifying folders to hold different types of collection.
The result of automating SCCM Application and Collection creation is that the overhead of SCCM Administration is greatly reduced and potential errors in transferring packages between packaging and deployment teams is eliminated.
The complete time required to create Applications and Collections is reduced to seconds.
The SCCM Package Loader files can be found here. Make sure you read the included instructions as Dot Net extensions must be copied from the SCCM console source for the utility to run properly. This utility is compiled with Dot Net Framework 4.5