SVS Integration with Notification Server - Part 4: Sequential Tasks
Sequential Tasks extend functionality available in SVS by allowing multiple executions to be linked. This sequence of executions can also be made dependent on successful execution of previous items. Powered by the Software Delivery Task Synchronization Agent, this requires integration into Software Delivery Solution as covered in Part 3 of this series. Use Sequencing to rollout multiple core virtual applications with a single task, or group a series of maintenance actions.
Introduction
Please reference Part 3 of this series for information on how to integrate (import) SVS Packages and Programs into Software Delivery Solution. The Sequential Tasks will reference one Program and the associated Package for each line item, thus import all Programs to be used for the given packages. Once these steps have been completed, they can be utilized in a sequential Task. Sequential Tasks will enable sequenced rollout of actions, whether importing, activating, resetting, etc your Virtual Software.
Sequential Tasks
This section touches on the basics of Sequential Tasks for reference in the subsequent segments. Sequential tasks are controlled by the Task Synchronization Agent, passing the specific execution items directly to the Altiris Agent (component AeXSWDAgent.dll) at execution time. This ensures that the dependencies and execution order are enforced.
Required Components
For Sequential tasks to successfully deploy on target systems, the following components are required.
- Software Delivery Solution installed and licensed on the Notification Server
- Altiris Agent with Task Synchronization Agent installed on all target systems
- SVS Agent install on all target systems
Note: This can be the stand-alone SVS agent or the agent rolled out through Software Virtualization Solution installed on the Notification Server - A working VSA file located at a reachable location from the Notification Server
- Packages with applicable Programs created for all SVS VSPs within Software Delivery Solution (not the SVS Solution component).
Using Sequential Tasks
In the Sequential Task user interface line items are added as Program /Package combinations. The sequence of lines can be from a single package (VSP) or from multiple ones. Each package item references one of the Programs available. See this screenshot for how the UI appears:
The Sequential Task, like any other Notification Server based policy or task references one or more collections containing the systems to target with the task. For more information on Sequential Tasks please see this Juice article: Getting the Most out of Software Delivery Sequential Tasks
SVS Sequencing
Like any Sequential Task, the order and dependencies are vital for proper Task execution. Any task that depends on the successful execution of a previous one should have that dependency configured in the Task. Often these types of Tasks are chosen for rolling out complex application installs that include components, patches, and other separate installs that plug into that application's environment. With SVS you can already have much of this contained within the VSP directly, but in cases where the specific components may differ, Sequential Tasks can simplify the rollout.
Another useful ability is to blend with other, non-virtual application items. In the case of a job that rolls out the core application to a computer for a new user, it could include a combination of VSP imports, activations, and scripts or other true application installs (for example and ActiveX control suite needed to access the company's report Web console). Scripts can also be used to succeed or fail a subsequent task if the computer doesn't meet the prerequisites.
Possible use-cases include:
- Core Virtual Application Rollout: Microsoft Word, Excel, Outlook, ActiveX controls (not SVS) for web applications, Time zone application, Anti Virus, etc...
- Executing a chain of actions against one or more Virtual Application: Microsoft Office, Reset (force) > Script checks status > if bad Deactivate > Delete > Import > Activate
- Deactivate Active VSPs > Have a deactivate (force) command for every layer, with no dependency so all can run even if a layer does not exist on the target system
Execution Order
Depending on the purpose of the sequential task, the execution may or may not matter. There are some items to be aware of when you are setting up the order. Note that these may or may not affect the rollout depending on when and how it is scheduled.
- Download Order -- When the Sequential Task arrives at the Altiris Agent, it also receives all the information for each subtask and the associated packages. The download occurs from the largest package to the smallest. If the execution is time-sensitive, set the order of execution from smallest to largest.
- Example: If Office and associated plug ins, add-ons require immediate import and activation,
- Required Reboots -- If reboots are required, repressing reboots until the end is the best option unless otherwise required. Reboots can usually be stopped via the command-line arguments for the given executable.
Dependencies
When setting up the sequence of executions (actions), any previous line-time can be selected as a dependency for a give item. This can be done by a chain (selecting the previous item in the list), or on a core application installed at the beginning for all subsequent items. Subsequent tasks cannot be selected (for obvious reasons. You can't depend on an execution that hasn't happened yet!). You can also select multiple dependencies via the check boxes provided.
The user interface gives a link to any added Package and Program line item, defaulted to: -- No Dependency --. Click on the sentence to bring up the Program Dependency Selector. This selector targets only the line-item the link belongs to and will not affect other dependencies in the Sequential Task. The following screenshot shows the user interface when interacting with the dependencies:
Without dependencies, failed executions will not halt the Sequential Task execution. Note that this does not mean a hung or pending execution will allow a subsequent item to install. It's only when execution is complete that the task will move on to the next one.
Best Practice: Mark your dependencies only where needed. Remediation for a failed execution will be easier if only one item failed out of all the execution items, instead of trying to pick up the execution where it left off. Also note that multiple dependencies will complicate the task, so only check those items that are truly a prerequisite for the execution in question.
SVS Sequence Sample
The following example provides the theory behind integrating SVS and Sequential Task into the core application rollout process.
Core Application Rollout Task
As part of the new machine process, a company employs Deployment Solution to image new systems. When the imaging process is complete, the Altiris Agent loads on startup and downloads and installs all applicable sub agents. Patch Management applies necessary patches as part of the process. Included in the install are the Software Delivery Solution Agent and the SVS Agent.
A series of Software Delivery Packages containing SVS import and activate commands have been created. Additional Software Delivery Packages have also been created for additional items outside of the Virtual Software sphere. A collection containing machines with both the Software Delivery Solution Agent (AeXSWDAppReqAgent.dll) and the SVS Agent has been created. The following line items have been added:
- Import and Activate Adobe Reader 8 (SVS)
- Import and Activate Microsoft Word 2007 (SVS)
- Import and Activate Microsoft Excel 2007 (SVS)
- Import and Activate Microsoft Outlook 2007 (SVS)
- Custom Internal Web Application ActiveX Control applied
- Apply PCT Package containing User's settings, desktop links, for Microsoft Applications
- Install Symantec Anti Virus client and Firewall with install script with correct Corporate data
- Post Execution as part of the Program > Reboot
The dependencies for the above example are as follows:
- No Dependency
- No Dependency
- No Dependency
- No Dependency
- Dependent on #2
- Dependent on #2, #3, #4
- No Dependency
When complete, the machine is ready to be deployed as a replacement machine for the given user.
Conclusion
Sequential Tasks can create automated, large Virtual Software rollouts. Use the information provided here to create encompassing, core Tasks to rollout multiple required Virtual Software activations, or combine maintenance steps for easy management. Though the configuration takes a little more effort, once complete simple Collection assignments or the user-initiated Software Portal access, users will quickly have what the need.
SVS Integration with Notification Server - Part 3: Software Delivery Extends Functionality
SVS Integration with Notification Server - Part 5: The Software Portal


