分享方式:


如何建立套件

下列範例示範如何使用 SMS_Package 類別和類別屬性,在 Configuration Manager 中建立套件。

建立集合

  1. 設定與 SMS 提供者的連線。

  2. 使用 SMS_Package 類別建立新的封裝物件。

  3. 填入新的套件屬性。

    提示

    當您建立虛擬應用程式封裝時,必須將屬性設定 SMS_Package 為特定值。 類別的 SMS_VirtualApp 實例必須參考使用下表所述屬性之 SMS_Package 類別的實例。

    虛擬應用程式套件

    內容名稱 屬性值
    PackageType 7
    PkgSourceFlag 2
    PkgSourcePath \\someserver\somesharepath
  4. 儲存封裝。

範例

下列範例方法會建立新的套件,並填入其屬性以用於軟體發佈。

如需呼叫範例程式碼的相關資訊,請參閱呼叫Configuration Manager程式碼片段


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;  
    }  
}  

範例方法具有下列參數:

參數 Type 描述
connection -管理: WqlConnectionManager
- VBScript: SWbemServices
SMS 提供者的有效連線。
newPackageName -管理: String
- VBScript: String
新封裝的名稱。
newPackageDescription -管理: String
- VBScript: String
新套件的描述。
newPackageSourceFlag -管理: Integer
- VBScript: Integer
封裝來源。
newPackageSourcePath -管理: String
- VBScript: String
封裝來源的路徑。

正在編譯程式碼

C# 範例需要:

命名空間

系統

Microsoft。ConfigurationManagement.ManagementProvider

Microsoft。ConfigurationManagement.ManagementProvider.WqlQueryEngine

組件

adminui.wqlqueryengine

microsoft.configurationmanagement.managementprovider

mscorlib

健全的程式設計

如需錯誤處理的詳細資訊,請參閱關於Configuration Manager錯誤

另請參閱

伺服器WMI 類別SMS_Package軟體發佈概觀
PowerShell Cmdlet:New-CMPackage