Administrator SDK 7.0 Release Notes
ASDK Software Delivery Update
The software delivery capabilities of the ASDK have been ported to work with the 7.0 version of the Symantec Management Platform. This update to the ASDK is not intended to expose added software management capabilities available in the SMP 7. That will come as a later development effort. Instead, this update is intended to allow for a transition from the 6.0 platform to the 7 platform version with as little change as possible to existing clients (scripts, code, etc.)
This document details the changes that were made in the ASDK APIs for software delivery to function properly in the SMP 7.
Symantec Administrator Software Development Kit (ASDK) Version 7.0 Release Notes
The Symantec Administrator Software Development Kit (ASDK) version 7.0 has been updated to support Symantec Management Platform version 7.0, Service Pack 5 (SMP 7.0). ASDK 7.0 contains support for NS 7.0 SP5 core functionality, Task Server 7.0 SP5 functionality and Software Delivery 7.0 SP5 functionality.
New Features and Modifications
Release 7.0 implements the following new features and modifications:
· Version 7.0 contains three new libraries to support Software Delivery Solution functionality: SWDSolnAdvertisementManagement, SWDSolnPackageManagement and SWDSolnProgramManagement. These libraries support operations in the Software Delivery Solution for SMP 7.0. (With minor changes to support architectural revisions to SMP 7.0 versus Notification Server (NS) 6.x, the API set is similar to that provided in the 1.x versions of the ASDK that targeted NS 6.x.) These libraries includes the following APIs:
· CreateAdvertisementEx – Creates an advertisement item.
· SetAdvertisementExRunOptions – Sets the run options for a software delivery task.
· SetAdvertisementExScheduleRunASAP – Toggles the Run ASAP option for an advertisement.
· SetAdvertisementExScheduleRunAt – Defines a non-recurring schedule to run a software delivery task.
· SetAdvertisementExScheduleScheduleXML – Sets advanced scheduling options for a software delivery task.
· SetAvailabilityRemovalOptions – Sets the Availablility and Removal options for a task.
· ModifyAdvertisementExDetail – Modifies detailed settings for a task.
· ModifyAdvertisementExBasic – Modifies the package and program for a task.
· GetAdvertisementExByGuid – Retrieves details about an advertisement identified by its GUID.
· ModifyResourceTargets – Adds or removes a resource target from an advertisement.
· SetAdvertisementExAgentSettings – Sets advanced agent settings of an advertisement.
· GetAdvertisementExStatusByResourceGuid – Gets the execution status of an advertisement on a resource specified by its GUID.
· GetAdvertisementExStatusByResourceName – Gets the execution status of an advertisement on a resource specified by its name.
· GetAdvertisementExRunTimeByResourceGuid – Gets the advertisement run time on a resource specified by its GUID.
· GetAdvertisementExRunTimeByResourceName – Gets the advertisement run time on a resource specified by its name.
· GetAdvertisementExStatusByResourceTargetGuid – Returns the execution status of an advertisement on specified resource targets.
· CreatePackageExBasic – Creates a software delivery package with basic settings.
· CreatePackageExDetail – Creates a software delivery package with advanced settings.
· ModifyPackageExBasic – Modifies the basic settings of a package.
· ModifyPackageExDetails – Modifies advanced settings of a package.
· GetPackageExByGuid – Returns details about a package specified by its GUID.
· UpdateDistributionPoints – Updates the distribution points for a package.
· SetPackageExPackageServerOptions – Sets the package server options for a package.
· SetPackageExAdvancedOptions – Sets the advanced agent options for a package.
· AddProgramToPackage – Adds a program item to a package.
· CreateProgramExBasic – Creates a program item with basic settings.
· CreateProgramExDetail – Creates a program item advanced settings.
· SetProgramRunOptions – Sets the run options for a program item.
· SetProgramExecutionOptions – Sets the execution environment options for a program item.
· SetProgramNetworkOptions – Sets the network options for a program item.
· ModifyProgramExBasic – Modifies the basic settings of a program item.
· ModifyProgramExDetail – Modifies the advanced options of a program item.
· GetProgramExByGuid – Returns details about a program item specified by its GUID.
· GetProgramExByName – Returns a list of details about all program items whose names contain a specified search string.
· AssignSoftwarePortalSecurity – Adds or removes software portal security settings on a program item.
· SetProgramPackageMapping – Maps a program item to a package.
· GetProgramsFromPackage – Returns a list of details about program items associated with a specified package.
Supported Symantec Management Platform Versions
ASDK 7.0 is supported for the following Symantec Management Platform versions:
· Notification Server: 7.0 SP5
· Task Server: 7.0 SP5
· Software Delivery Solution: 7.0 SP5
· The ItemManagementLib library: Schedules for certain policies such as advertisements
· The ItemManagementLib library interacts with item schedules in various ways. For example:
§ Several ItemManagementLib methods return an ItemDetails object (or an array of such objects) that contains the properties "IsSchedulableItem" and "ScheduleXml." These properties contain a boolean value indicating whether the item is schedulable, and an XML string containing the current schedule for items that are schedulable, respectively.
§ The SetItemsSchedule() method allows the user to set a new schedule for a schedulable item.
§ The ExecuteSchedulableItem() method calls the schedule execution method on a schedulable item.
· The key to working with these properties and methods is understanding what a "schedulable item" is within the context of the ItemManagement library. In this context, a schedulable item is any item that supports scheduling of server-side tasks. (Internally, this is implemented by having the item implement the Altiris.NS.ItemManagement.IItem.IItemScheduling interface.) If an item does not implement the IItemScheduling interface, it does not support scheduling of server-side taks and consequently it should not be considered a "schedulable item" for puposes of the ItemManagement module. Please note that this is true even though certain other items, such as an advertisement, support client-side scheduling even though they do not support server-side scheduling using the ItemManagement methods.
§ For example, although the user can set a client-side schedule for a software delivery advertisement in the Symantec Management Console, within the scope of the ItemManagement library an advertisement item is not a "schedulable item" because an advertisement item (Altiris.NS.StandardItems.SoftwareDelivery.AdvertisementItem) does not implement IItemScheduling.
§ An advertisement item is a specific type of Policy class. The Policy class itself does not implement IItemScheduling; therefore, custom types deriving from Policy may or may not be "schedulable items" depending on whether the given type itself implements IItemScheduling. For example, an AdvertisementItem is not server-side schedulable, but a NotificationPolicy is server-side schedulable.
§ If you are unsure whether a certain policy type is schedulabe for purposes of ItemManagement, check the type's interfaces or inheritance using Microsoft Visual Studio's Object Browser or any other disassembler program.
§ Using the ItemManagement library to work with the schedule of a policy, such as an advertisement, that does not implement IItemScheduling may cause an exception to be thrown or other unexpected result, such as causing the Symantec Management Console to hang.
§ For example, if an AdvertisementItem GUID is passed in as an argument to ItemManagement.GetItemByGuid(), the IsSchedulableItem property in the returned ItemDetails object will contain the value false and the ScheduleXml property will be empty. This is the expected result, since an advertisement supports only client-side scheduling, not server-side scheduling.
§ Similarly, an advertisement item cannot be scheduled using the ItemManagementLib.SetItemsSchedule() method, as it will throw an exception.
You install the ASDK 7.0 via the Symantec Installation Manager (SIM) tool. Please see the Symantec Management Platform documentation for information on where to download this tool. This installation will download and install the Notification Server, Task Server and Software Delivery modules, as well as supporting assemblies and a number of coding and scripting samples. It will install the core “integration assemblies” (Altiris.ASDK.NS.dll, Altiris.ASDK.Task.dll and Altiris.ASDK.NS.SoftwareDelivery.dll) in the Global Assembly Cache (GAC) of your SMP server, as well as installing the ASDK’s web services. It will also install the CLI executables.
The SIM software also installs assemblies that support the COM layer for the ASDK modules (so that you can run the ASDK from a VBScript, for example). If you want to run the COM interface from your SMP server, no further installation action is necessary. However, if you want to install and run COM from a remote computer, please follow the steps in Part III, below. The installation also includes an additional CLI executable for the Altiris Agent. This Agent CLI may be run on the SMP server, or on any computer that has an Altiris Agent installed. The Agent CLI will allow you access the existing Agent’s COM components via the Command Line.
To install the ASDK 7.0, complete the following steps:
Part I – Uninstall prior ASDK version
1. Once the Symantec Installation Manager (SIM) is installed on your system, the Symantec Administrator SDK (ASDK) will show up as a product that can be installed. It may not show as already being installed. When the ASDK goes through its installation process it will run through the readiness checks. This process checks for older versions of the ASDK. If any are found, the installation process will halt and you will be prompted to make a correction. The correction is to select the link indicating that the ASDK must first be removed. Clicking that link will automatically take care of this removal process. Once that is done, SIM will re-run the readiness check and the ASDK installation procedures will continue.
NOTE: Make sure that your scripts are NOT placed within the ASDK folder structure as those folders and files will be removed.
Part II – Install the ASDK Server and COM components
1. Run the Symantec Installation Manager (SIM) on the Notification Server machine where you want to install the ASDK 7.0.
2. Select the Administrator SDK product and proceed with the installation.
3. If you have not yet uninstalled a previous version of the ASDK on that computer, SIM will halt installation and provide you with a link to uninstall the previous ASDK. Once the previous version is uninstalled, installation of ASDK 7.0 will proceed.
Part III – Install the COM components on a remote computer (optional)
1. The ASDK installation downloads the installation package files into the C:\%ProgramFiles%\Altiris\Symantec Installation Manager\Installs\Altiris\ directory on your SMP server. If you wish to install the ASDK’s COM components on a remote computer, you will need to copy the *.msi files from this directory that have “COM” in the filename to the remote computer. Please note that the remote computer must be a Windows computer with Microsoft .NET Framework v3.5 installed.
2. Double-click each MSI that you want to install on the remote computer and follow the prompts until the each installation is complete.
Imported Document Id