How to Create a Package
Updated: November 1, 2013
Applies To: System Center 2012 Configuration Manager, System Center 2012 Configuration Manager SP1, System Center 2012 R2 Configuration Manager
The following example shows how to create a package in System Center 2012 R2 Configuration Manager by using the SMS_Package class and class properties.
To create a package
Set up a connection to the SMS Provider.
Create the new package object by using the SMS_Package class.
Populate the new package properties.
Tip When you are creating a Virtual Application Package, you must set the SMS_Package properties to specific values. Instances of the SMS_VirtualApp class must reference instances of the SMS_Package class that use the properties described in the following table.
- Virtual Application Package
Property Name
Property Value
PackageType
7
PkgSourceFlag
2
PkgSourcePath
\\someserver\somesharepath
Save the package.
Example
The following example method creates a new package and populates its properties for use in software distribution.
For information about calling the sample code, see Calling Configuration Manager Code Snippets.
Sub CreatePackage(connection, newPackageName, newPackageDescription, newPackageSourceFlag, newPackageSourcePath)
' Create the new package object. Dim newPackage
Set newPackage = connection.Get("SMS_Package").SpawnInstance_
' Populate the new package properties.
newPackage.Name = newPackageName
newPackage.Description = newPackageDescription
newPackage.PkgSourceFlag = newPackageSourceFlag
newPackage.PkgSourcePath = newPackageSourcePath
' Save the package.
newPackage.Put_
' Output the new package name.
wscript.echo "Created package: " & newPackageDescription
End Sub
public void CreatePackage(WqlConnectionManager connection, string newPackageName, string newPackageDescription, int newPackageSourceFlag, string newPackageSourcePath) { try { // Create new package object. IResultObject newPackage = connection.CreateInstance("SMS_Package"); // Populate new package properties. newPackage["Name"].StringValue = newPackageName; newPackage["Description"].StringValue = newPackageDescription; newPackage["PkgSourceFlag"].IntegerValue = newPackageSourceFlag; newPackage["PkgSourcePath"].StringValue = newPackageSourcePath; // Save new package and new package properties. newPackage.Put(); // Output new package name. Console.WriteLine("Created package: " + newPackageName); } catch (SmsException ex) { Console.WriteLine("Failed to create package. Error: " + ex.Message); throw; } }
Compiling the Code
The C# example requires:
System
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
adminui.wqlqueryengine
microsoft.configurationmanagement.managementprovider
mscorlib
Robust Programming
For more information about error handling, see About Configuration Manager Errors.
The example method has the following parameters:
Parameter
Type
Description
connection
Managed: WqlConnectionManager
VBScript: SWbemServices
A valid connection to the SMS Provider.
newPackageName
Managed: String
VBScript: String
The name of the new package.
newPackageDescription
Managed: String
VBScript: String
The description for the new package.
newPackageSourceFlag
Managed: Integer
VBScript: Integer
The package source.
newPackageSourcePath
Managed: String
VBScript: String
The path to the package source.