16 January 2014

Deploying enormous packages across a WAN

As many of you might know, deploying huge packages through SCCM can be a challenge. The first question you might ask is, define enormous. IMO, anything over the default 5GB client cache size is enormous. Working in the architecture/engineering industry, I encounter this issue quite often with Bentley, Autodesk, and Adobe applications. There are several options to address this.

  1. You can increase the cache sizes to accommodate the size, but when you are talking about packages that are 40+ gigs in size, that is really not an option, especially when you are using SSD drives, where you're sacrificing space for speed. The issue is that you now need double the space on a system to perform the install. Another issue is pushing the package to the distribution points. If you do it across your LAN, it's going to take a LONG time, even with 10 meg links. You could use the option of exporting the package to a thumb drive from SCCM, and mailing it to the locations to update the distribution points. You will also need to re-size the cache size on all machines before and after the deployment. 
  2. You can create a package in SCCM that points to a network share and runs from it. To use this option, you need a network share in all remote locations. This is the option I use to facilitate enormous packages. We keep our remote network shares updated via robocopy from our home office share. This not only lets us distribute from SCCM, but it also provides a copy of the package in remote locations in the case we need to run a repair or install a single copy. 
If you choose option 2, here is a guide to how we implement this.

  1. Create a single application deployment in SCCM
  2. Under the Deployment Types, create a deployment type for each location that has a OU. This will allow for you to make the deployment type specific to that site. I name the deployment type by the name of our office location (i.e. Nashville, Atlanta, etc.)
  3. Under the content tab, leave content location blank.
  4. Under the programs tab, enter the installation and uninstall programs, making sure you populate the start in fields beneath them with the location of the install source within the OU specified.
  5. Once you have all of the tabs completed, go back to the Requirements tab, click add. Under Category, select device and under condition, select organizational unit. Click add and select Browse to select the OU for this specific location. 
  6. Repeat steps 1 through 3 until you have created a deployment type for all of your remote locations.
That is all that is to pointing a deployment package to the install source and not using the distribution points. 

NOTE: In order to make this work, you will need a network share at each OU, otherwise the install will take place across the WAN. Also, the remote network shares will need the package robocopied to them first.