Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The following example shows how to create a package in 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 theSMS_VirtualApp
class must reference instances of theSMS_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;
}
}
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. |
Compiling the Code
The C# example requires:
Namespaces
System
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
adminui.wqlqueryengine
microsoft.configurationmanagement.managementprovider
mscorlib
Robust Programming
For more information about error handling, see About Configuration Manager Errors.
See Also
Software distribution overview
SMS_Package Server WMI Class
PowerShell Cmdlet: New-CMPackage