Installing .NET 3.5 Framework for ZCM 11.x Deployment Requirement

By ethanspoelstra

This AppNote describes how to deploy the .NET Framework via ZCM (3.5 SP1 example given) to meet the requirements for ZENworks Adaptive Agent 11.x and other software.

Table of Contents

  1. Assumptions

  • Problem Statement

  • Bundle Basics

  • Work in Progress

  • Getting Started


  • This document describes all the necessary steps required for deployment with ZCM.

  • Administrator knows how to perform System Update to deploy ZCM11.x agent upgrade.

  • Existing ZCM 10.x or higher infrastructure is available (both server & agents).

  • ZCM 11.x can manage 10.3.x agents, but 11.x agent is required for additional functionality, therefore a server that has been upgraded can be used to deploy .Net, but sometimes its best to lay the groundwork (dependencies) before the server update.

Problem Statement

How to deploy .NET Framework 3.5 or higher through ZCM in order to facilitate an upgrade to ZCM 11.x

Bundle Basics

Just about any software can be deployed through ZCM agent for large deployments, and even in smaller site deployments it is useful for scheduling bandwidth usage during off peak hours. Users can then install the software manually from the ZENworks Application Window if the deployment is smaller, or if it is larger you can automate the install to not require user interaction. What if an administrator wants to update the ZENworks Agent from 10.3.x to 11.x on managed machines in a remote location? Though administrator can use ZCM for this, there is a prerequisite for .NET Framework in order to install the Agent and the minimum .NET version for Windows XP SP3 to install the agent is 3.51.

Work in Progress

I am working on putting together a whole Cool Solution including screenshots on this, we had a few XP clients we were going to upgrade to 11.2.3a once we were confident in our server upgrade, but a lot has come up (including the 11.2.3 upgrade debacle). The nice thing is its REALLY easy to do this bundle if you have time to do a little testing to make sure it works in your environment. I'll try to expand on this with screenshots once I get a bit more time.

Getting Started

This setup assumes you use an C:\Installer folder of some sort on the client machine, we prefer this method to network installs as not all of our sites have fast connectivity to our offices but they do have caching routers, so we can push a bundle to all the users on a site and only have it actually "download" once. This walkthrough assumes you've downloaded the dotnetfx35.exe or dotNetFx40_Full_x86_x64.exe redistributables from the Microsoft website. One thing this walkthrough doesn't cover is the tons of updates available from Windows Updates to get these fully secured, we are just installing the basics here to get ZCM updated, then you can use WSUS or ZPM to secure your clients from there.

  1. Create a new bundle in ZCM somewhere that you put "Dependencies" type bundles. We have a folder under our applications folder called "#Dependencies" which keeps it at the top of the list and easy to access when I go to add new bundles that we won't directly assign or install, but that get called by other bundles.

  • Make it a Windows bundle, and choose Empty Bundle as the type. Name the bundle .NET 3.5 SP1 or .NET 4.0, which ever you are installing. I haven't tested whether 4.0 is backwards compatible for ZCM11 agent yet. Click next and check the box to make it a Sandbox and Define Additional properties.

  • It should bring you to the Actions tab, otherwise click on Actions tab and then the Install tab under that. Click on Add and choose Create/Delete Directory, then define a path where your installers are, eg C:\Installer. Then we also choose to Run as a secure system user (this means the users can't see or interfere with the process).

  • Next click on Add and choose Install File(s), click Add under Files, and then Add twice more, then browse to find the dotnetfx35.exe you downloaded. Then enter a destination directory (the one you created above, C:\Installer in my case). You can leave the default Copy always option and click OK. Make sure the security level is Run as secure system user or dynamic administrator so the file gets copied to the system without the user needing to interact. Then click OK.

  • Finally, click on Add and choose the Launch Executable action. In the Command box, enter C:\Installer\dotnetfx35.exe and for the Command Line Parameters, put /q /norestart, this will install the framework silently without user interaction, and won't force a restart automatically, so you can push it to users a few days in advance of your ZCM11 upgrade and they will probably reboot between then, or you can push a reboot command overnight. Click on the Advanced tab and make sure the Executable security level is Run as secure system user or dynamic administrator. I've had MUCH better luck running as dynamic administrator with users being able to see and use software when doing it with dynamic administrator vs secure system user. Click OK.

  • Click Apply to push the changes to the sandbox, and then do your testing (assuming the server is on 11.x already and you are simply getting the last of your clients onto the corresponding agent). If you are still on 10.x most of these steps should still apply, but you may not have the dynamic administrator options, I don't have a 10.x environment to test in.

Once you think the bundle is working correctly, publish it and push it to your machines and once they have all installed, you should be ready for an upgrade to ZENworks 11.x.


How To-Best Practice
Comment List