System Center Configuration Manager 2007 : Creating Packages (part 3) - About Packages, Programs, Collections, Distribution Points, and Advertisements

11/17/2013 8:42:37 PM

3. About Packages, Programs, Collections, Distribution Points, and Advertisements

Having discussed software packaging in ConfigMgr, compared it with software packaging outside ConfigMgr, and compared ConfigMgr software distribution with GPO-based software distribution, it is now time to begin delving into how ConfigMgr works. Let’s start with discussing some of the key terms and how these capabilities interact with each other. The next sections discuss packages, programs, collections, distribution points, and advertisements.


A software package consists of general information about the software to deploy, including the name, version, manufacturer, language, and where source files for the package are located (if that package has source files). Packages are created either from a package definition file or manually. Software packages within ConfigMgr are not actually a repackaging of the software packaged by a vendor. ConfigMgr will have the same source files used to install the software, but uses MSI files to auto-populate many of the questions required when creating packages and programs within ConfigMgr. You can also create software packages without using package definition files. ConfigMgr provides the ability to deploy executables, batch files, VBScript, JavaScript, and command files, among others. If you can execute it, you can design a package to deploy it!

A package optionally includes programs, which provide the specifics of how the software runs. The package also contains information about who can access it (security) and where it is distributed (distribution points).

ConfigMgr uses packages to distribute software, as well as to deploy changes to client configurations, such as Registry changes.


A package contains programs. These are commands specifying what should occur on a client when the package is received. A program can do just about anything—it can install software, distribute data, run antivirus software, or update the client configuration.

Each package must contain at least one program if the package will perform any action other than to provide a pointer to the source files. Most MSI files provide six default programs when used for software distribution, each allowing the package to run in different ways:

  • Per-system attended— This installation causes a program to install, expects user interaction, and is run once for the system on which it is targeted to install.

  • Per-system unattended— This installation causes a program to install that expects to run without user interaction and is run once for the system on which it is targeted to install.

  • Per-system uninstall— This installation performs an uninstallation of the program, and is run once for the system on which it is targeted to uninstall.

  • Per-user attended— This installation causes a program to install and expects user interaction, and is run once for the user for whom it is targeted to install.

  • Per-user unattended— This installation causes a program to install without user interaction, and runs once for the user for whom it is targeted to install.

  • Per-user uninstall— This installation performs an uninstallation of the program, and is run once for the user for whom it is targeted to uninstall.

Each program specifies the command-line used to run the program in the method described. As an example, a per-system unattended installation will include a switch to run the program without user intervention.


A collection represents resources within ConfigMgr. A collection is a logical grouping and can consist of computers, users, or security groups. Collections provide a target for ConfigMgr functions such as software distribution . Collections can be either static (defined to specific resources) or dynamic (either built on a query you define or an existing query that comes prebuilt with ConfigMgr). The next two sections discuss these collection types.

Static Collections

You define static collections by manually adding a resource to a collection. An example of a static collection is a group of test workstations used to test software package deployments. As an example, the Test Workstations collection has TestWS1, TestWS2, and TestWS3 manually added to it. Static collections are useful when you need to define a limited number of systems or users to a collection and the membership in the collection does not change frequently. Membership is fixed (static) without manual changes.

Dynamic Collections

You define dynamic collections by using a query-based membership in the collection. You can achieve the same result as with the Test Workstations static collection (see the previous section) by defining a rule to add any workstations to the collection using names starting with TestWS. This assumes that only test workstations are named with the test workstation naming convention (such as TestWS4). The benefit to a dynamic collection is it does not require manual changes to add resources to the collection. Let’s say you define a Test Workstations dynamic collection that adds all workstations starting with the name TestWS. If additional test workstations are created later, those new workstations will automatically become part of the Test Workstations collection.

Distribution Points

A distribution point (DP) is a ConfigMgr server role where packages are stored for later distribution, making it similar in nature to a file share containing software used for installations. The location of distribution points can be significant in terms of network impact.

As an example, if you create a package to install Microsoft Office (which is a very large software package), you would not want it to install the software from a distribution point across a wide area network (WAN) link, due to the effect on network traffic across that link. Generally, you would prefer to use a local distribution point with access to the software you want to install. To help with WAN link utilization, ConfigMgr can use BITS to transfer large amounts of data across networks, including WAN links. However, it is best to provide a local distribution point for any location where multiple clients will access software packages. BITS is only available for communication between the distribution point to the client. Branch distribution points only use SMB; they do not use BITS to communicate to the client.

You can arrange DPs in a manner to help simplify their management—an example of this is gathering all distribution points in the United States into a single group and those in Europe into another group. This capability gives ConfigMgr administrators the ability to group distribution points geographically or by department, or use any other method that enables easily adding or removing packages from large numbers of DPs in a timely manner.

You can configure distribution points to support various functions. One example is a protected distribution point, which allows ConfigMgr administrators to restrict which clients can connect to the DP from specified AD sites or subnets. Using protected distribution points ensures clients do not access content on a distribution point over a slow link.


An advertisement ties these concepts together. An advertisement says to take a specific program within a package and make it available to a collection previously defined, and it specifies the distribution point(s) to use when deploying the program. Advertisements are either voluntary (they show as available for the user to install) or mandatory.

How These Combine

Consider a package containing multiple programs. That package is sent to a distribution point and advertised to a collection. Although this looks like a relatively complex way to distribute software, it is also a very powerful approach. Let’s break this down into a simple example of how these concepts work together.

You need to distribute an application called MyApp to the HR department this week. Perform the following steps:

Create a package for the application and then create an unattended installation and (optionally, but recommended) an uninstallation program within the package.

Define a collection of the workstations used by the HR department personnel.

The users of the HR application are all located in the corporate office, which has a single distribution point used when distributing software from Configuration Manager.

Create an advertisement that ties this all together. Figure 1 displays the advertisement. The advertisement ties the package and the program (MyApp unattended installation) to the collection (the HR workstations) and the distribution point used for installing the software (corporate distribution point).

Figure 1. Combining packages, programs, advertisements, distribution points, and collections

Knowing how these concepts combine is critical for understanding how Configuration Manager deploys software.

  •  Microsoft Dynamic AX 2009 : Configuration and Security - Security Framework (part 3) - Security Coding
  •  Microsoft Dynamic AX 2009 : Configuration and Security - Security Framework (part 2) - Applying Security
  •  Microsoft Dynamic AX 2009 : Configuration and Security - Security Framework (part 1)
  •  Microsoft Dynamic AX 2009 : Configuration and Security - Licensing and Configuration
  •  Microsoft Dynamic AX 2009 : Configuration and Security - IntelliMorph
  •  Microsoft Dynamic AX 2009 : Reflection APIs (part 3) - Treenodes API
  •  Microsoft Dynamic AX 2009 : Reflection APIs (part 2) - Dictionary API
  •  Microsoft Dynamic AX 2009 : Reflection APIs (part 1) - Table Data API
  •  Microsoft Dynamic AX 2009 : Reflection System Functions
  •  Microsoft Enterprise Library : Banishing Validation Complication - Diving in With Some Simple Examples (part 4)
    Video tutorials
    - How To Install Windows 8

    - How To Install Windows Server 2012

    - How To Install Windows Server 2012 On VirtualBox

    - How To Disable Windows 8 Metro UI

    - How To Install Windows Store Apps From Windows 8 Classic Desktop

    - How To Disable Windows Update in Windows 8

    - How To Disable Windows 8 Metro UI

    - How To Add Widgets To Windows 8 Lock Screen

    - How to create your first Swimlane Diagram or Cross-Functional Flowchart Diagram by using Microsoft Visio 2010
    programming4us programming4us
    Top 10
    Free Mobile And Desktop Apps For Accessing Restricted Websites
    MASERATI QUATTROPORTE; DIESEL : Lure of Italian limos
    TOYOTA CAMRY 2; 2.5 : Camry now more comely
    KIA SORENTO 2.2CRDi : Fuel-sipping slugger
    How To Setup, Password Protect & Encrypt Wireless Internet Connection
    Emulate And Run iPad Apps On Windows, Mac OS X & Linux With iPadian
    Backup & Restore Game Progress From Any Game With SaveGameProgress
    Generate A Facebook Timeline Cover Using A Free App
    New App for Women ‘Remix’ Offers Fashion Advice & Style Tips
    SG50 Ferrari F12berlinetta : Prancing Horse for Lion City's 50th
    Popular Tags
    Video Tutorail Microsoft Access Microsoft Excel Microsoft OneNote Microsoft PowerPoint Microsoft Project Microsoft Visio Microsoft Word Active Directory Exchange Server Sharepoint Sql Server Windows Server 2008 Windows Server 2012 Windows 7 Windows 8 Adobe Flash Professional Dreamweaver Adobe Illustrator Adobe Photoshop CorelDRAW X5 CorelDraw 10 windows Phone 7 windows Phone 8 Iphone