Categories
MEMCM SCCM

Relationship Between a SUG and a Deployment Package

…or lack thereof? I wanted to add that in the title as well, but unless there is a competition for the longest blog titles, I don’t want to waste my skill right now. In this post, we are going to discuss if there is any relationship between a SUG and a Deployment Package.

TLDR

What am I talking about?

If you clicked on the post after reading the title, you probably know what I’m talking about. But for those who don’t, I’ve got you covered as well.

Software Update Group (SUG) is like a container for Software Updates in MEMCM. Container for the metadata, and not the actual updates themselves. That’s where a Deployment Package comes into the picture.

Deployment Package, as I mentioned before, is where the actual binaries of the updates are downloaded and stored. Shall I call it a DP from now on? Unfortunately, that acronym has already been taken up by the big bad Distribution Point. Poor little Deployment Package. Let’s call it DPack. Feeling better now? Let’s move on.

The usual process of deploying software updates through MEMCM involves creating a SUG, downloading the updates within that SUG into a DPack, distributing the content of the DPack to the DP, and then deploying the SUG to the machines.

Can two SUGs contain the same update? Yes.
Will the same update in different SUGs be downloaded twice in a DPack?
Can an update be installed if it is present in a different DPack than what the SUG is “linked to”? These are some of the questions and confusions that come up.

Let’s find out.

Downloaded Twice?

In order to verify this behavior, I did a simple experiment to download the same update into four different deployment packages to see what happens. The results were as follows:

The first time, the update binaries got downloaded.

PatchDownloaded.log file

Every subsequent attempt, it automatically detected that the same update has already been downloaded before, and instead of downloading it again, it created a hard link for that file.

PatchDownloaded.log file

If you try this yourself, you’ll see that there are multiple files being downloaded and each of them is occupying disk space. Don’t get confused by that. It’s a little misleading.

For the current scenario, this is what the disk space utilization looks like:

Disk space comparison

Looking at the folder properties (left screenshot), it seems that the updates got downloaded four times and are occupying four times the space. But if you check the Drive properties (right screenshot) instead, you’ll get to know the actual disk consumption. Only one copy was downloaded, and the rest are hard links.

SUG “Linked to” DPack

Let me start by saying that there is no relationship between a SUG and a DPack. If you try to create each of them individually, you won’t find a reference to the other. If you open the properties for either one of those, you won’t find anything that relates to the other.

Software Update Group
SUG
Deployment Package
DPack

Then why the confusion in the first place? It’s because the traditional steps followed in order to deploy Software Updates either manually or through ADR require you to create a SUG first and then a Deployment Package. This leads some to believe that the SUG is related to a DPack.

The first clear indication that that’s not the case comes when you’re trying to deploy a SUG for an update that’s already downloaded. It won’t ask you for DPack details then.

Update not pre-downloaded
Update not pre-downloaded
Update pre-downloaded
Update pre-downloaded

If that does not convince you, I have one final test. I created a SUG for an update that was not downloaded previously.

Create new SUG
Create new SUG

While deploying, it asked me for the DPack and I created one.

Create new Deployment Package

The final step before completion involved the download of the update binaries into the DPack.

Create new Deployment Package
Create new Deployment Package Output

Now I have one SUG and one DPack.

SUG
SUG
Deployment Package
DPack

Next, I created another DPack for the same update. As you may know now from the previous section, this is not going to download the update again, but create a hard link instead.

Create new Deployment Package
Create new Deployment Package
Create new Deployment Package Output
Two deployment packages

Then, I deleted the first DPack (KB5016629 DPack) that got created while creating the SUG.

Delete Deployment Package
One Deployment Package

Now if I move to the machine where I deployed that update, we see that it’s available in the Software Center.

Software Center

Here comes the moment of truth. If there really is a relationship between a SUG and a DPack, the update should not download and install as we have deleted the DPack that got created with the SUG.

As you saw in the video, the update downloads and installs without any issue.

Summary

There are two things that I want you to take with you from this post:

  • There is no relationship between a SUG and a Deployment package
  • Updates are downloaded only once even if the same update is part of multiple SUGs and/or DPacks.

By Sam

Hi, I am Samarth Joshi. Gaming got me into computers and programming, which ultimately led me to IT. Now just trying to share what I learn.

Leave a Reply

Your email address will not be published.