1.4 Dependency Bundles

When you create the following actions for a bundle, you create bundle dependencies:

A bundle’s Dependency Bundles tree shows the chaining information of that bundle and the action sets that each dependency is in. To view the Dependency Bundles tree in ZENworks Control Center, click the Bundles tab, click a bundle that has dependent bundles, then on the Summary tab, click the Display Bundle Dependencies link in the Dependency Bundles row. If the selected bundle does not have dependent bundles, the link displays None instead of Display Bundle Dependencies.

The following sections contain additional information:

1.4.1 Primary Applications vs. Dependent Applications

When working with bundle dependencies, the primary bundle is the bundle for which you are establishing dependencies. The bundles that are defined as dependencies are called the dependent bundles. The following illustration shows this relationship. Application A as the primary bundle with Applications B, C, and D as dependent bundles.

Figure 1-1 Dependency Bundle Tree

A primary bundle can have one dependent application or, as shown in the above example, it can have multiple dependent applications.

In addition, a bundle can be both a primary bundle and a dependent bundle, as shown in the following illustration. Application A as the primary bundle, with Applications B, B1, B2, C, and D as dependent bundles.

Figure 1-2 Dependency Bundle Tree

In the above example, Application B is one of Application A's dependent bundles. At the same time, Application B has dependencies on two bundles, Application B1 and Application B2.

1.4.2 Bundle Chains

A bundle chain is two or more bundles linked together by dependencies. In its simplest form, a application chain consists of two levels, as shown in the following illustration.

Figure 1-3 Dependency Bundle Tree

However, when bundle dependencies are nested, a bundle chain can grow to include many levels. In the following example, Application A has a dependency on Application B. Application B, in turn, has dependencies on Application B1 and Application B2. As a result, all three bundles (B, B1, B2), in addition to applications C and D, must be present in order for Application A to run.

Figure 1-4 Dependency Bundle Tree

In some cases, a bundle might belong to more than one bundle chain, as in the following example where Application D is a dependent application for both Application A and Application E.

1.4.3 Distributing, Installing, and Launching a Bundle That Has Dependencies

When setting up bundle dependencies, you should be aware of the following:

Bundle Assignment: A dependent bundle does not need to be assigned to devices or users. The primary bundle, however, must be assigned to one or more devices or users for it to function properly.

Distribution and Installation: If dependent bundles have not already been distributed to or installed on the user's workstation, when a user launches or installs a bundle, ZENworks Adaptive Agent distributes and installs them. ZENworks Adaptive Agent distributes a dependent bundle only once, unless the dependent bundle’s version is updated or the distribution or installation is unsuccessful. If ZENworks Adaptive Agent is unable to distribute or install a dependent bundle (for example, the user’s workstation does not meet the dependent bundle’s system requirements), the primary bundle is not launched or installed.

Distribution Through an Add-On Image: If you distribute a bundle through an image add-on, its dependent bundles must be included as another image add-on. Otherwise, the distribution of the primary bundle fails.

Distribution to Disconnected Workstations: For disconnected workstations, the bundles must be force cached to the workstation before it becomes disconnected. If changes are made to dependent bundles after the bundles have been cached to workstations, the version number of the primary bundle must be updated in order to force a re-cache of the bundles.

Launch: Each time a bundle is launched, ZENworks Adaptive Agent performs any launch operations, such as other actions, defined for its dependent bundles.

Reboot/Shutdown: Ensure that the dependent bundle does not include a Reboot / Shutdown action.

Redeploying a Bundle to Refresh Its Dependencies: If you change the dependencies of a bundle that has already been replicated to content servers, you must redeploy the bundle. This ensures that each content server has all of the dependencies required by the bundle.

To redeploy the bundle from the Bundles tab, locate and click the bundle to display its details, then click the Content Servers tab. In the Primary Server Replication Status list, select the check box next to the Primary Servers, then click Include to replicate the bundle to the servers. Repeat this procedure for Satellite devices as necessary.

To redeploy the bundle from the Devices tab, locate and click the appropriate device to display its details, then click the Content tab. In the Replication Settings list, select the check box next to the bundles, then click Include to replicate the bundle.

The bundle will be redeployed according to your Content Replication settings. For more information, see Content Replication in the ZENworks 10 Configuration Management System Administration Reference.