I am writing this post out of my quest for ZCM Bundle Action answers. I realized that the Bundle Actions and Schedules did not appear to behave exactly as I expected in ZENworks Configuration Management.
I wanted to test the distribution, install and launch actions and also the schedules that can be defined during Bundle Assignments or just in an On-Demand Install Bundle, Launch Bundle or Distribute Now. (See Assign Bundle Step 3)
included just a pure distribution of the Bundle. I made the bundle association (relationship) by selecting the Distribution Schedule and picking NOW. I did not check the box for Install Immediately after Distribution or Launch Immediately after distribution.
- The bundle was distributed to the ZCM cache, but nothing was distributed or installed to the rest of the file system. Good So far.
included selecting a device, picking the “Quick Tasks” menu option and “Install Bundle”.
- The install failed to complete all actions in the action set, Create Directory, Display Message, and Install MSI.
Keep in mind that a user isn’t logged into the PC, so the display message action I expected to continue, but it didn’t. Instead it halted the whole bundle install and even logged a message in zmd-messages.log. So I modified the Continue on failure to = yes and fired a device refresh, “Quick Task”, “Refresh Devices”.
- The bundle ran through the install actions again, but failed on the MSI with an error that no user session existed. Looking at TID XXXXX this issued can be resolved by setting the MSI to run as a Dynamic Administrator (DAU). The cause for the error is that the MSI requires a user session to exist for the install to happen. So I changed “Run as Normal User” to “Run as Dynamic Administrator”. This is probably safer anyway as maybe the user isn’t an administrator of the local machine.
Dependent Bundles that did not meet system requirements; does the parent bundle continue, fail or what?
- Parent has a launch action
- Install bundle1 – create a directory and installs a file
- Install bundle2 – install a second directory and file if bundle 1 directory does NOT exist
- Parent bundle failed to finish the install because Bundle2 didn’t meet the system requirements
- If child bundle is set to continue on failure, the parent bundle will step over and continue to the next action
Distribute now does not set a schedule.
- Any bundle that was originally associated during an Associate Bundle -> Distribute now action does not contain a schedule
- Such bundle set to Distribute Now only runs that one specific time (NOW)
- Incrementing the version will NOT cause the bundle to distribute and install again by default (See next note #2)
- Per Device
- Per User Per Device
- Install Always
- During distribution (Part of User Launch or Schedule)
- During launch (Part of User Launch or Schedule)
- If the version number was incremented, the bundle will only be treated as “NOT INSTALLED” IF actual properties of the bundle change
- Install actions only happen if (1) Install always is enabled or if (2) the bundle actions and the version number do not match was is already installed on the machine
Install is dependent on Distribution Schedules or Launch Schedules
Bundle Action Options are much more powerful than at first glance.
These three install options are independent of Bundle versions and are dependent on Distribution Schedule or Launch Schedule. This means that if the Bundle Action Options are set to Install Always, the install actions will always happen in the following scenarios
Incrementing the version number to an already associated Bundle DOES NOT assure that the install actions will be processed AGAIN