How to Increase SCCM Client Cache Size

In this post we will look at the steps to increase SCCM client cache size. When you have large applications to deploy during an OSD, it will fail because the size of the SCCM Client Cache is not big enough to cache the application installation files.

Software updates also use the client cache, but software updates are not restricted by the configured cache size and will always attempt to download to the cache.

You can configure the client cache settings when you install the Configuration Manager client manually. You can also do that when you use client push installation, or after the client is installed.

When you distribute software, you can set the Advanced Client to download package source files from a distribution point to a cache on the advanced client computer before the program runs.

In addition to that, you can also note that SCCM client cache location under Configuration Manager properties. When the program runs, it uses the source files in the cache instead of the source files on the distribution point.

By default, the SCCM 2012 Client Cache is set to 5120 MB and if you do not set this property while installing SCCM Client, the folder defaults to a maximum size of 5120 MB. The lowest value you can specify is 1 MB.

Increase SCCM client cache size Snap1

You could change the client cache size on a single machine by getting into Control Panel > Configuration Manager Client Properties > Cache > click on Configure Settings and change the value of cache size and click OK.

VB script to modify SCCM client cache size

Use the below VB script to increase SCCM client cache size.

On Error Resume Next
Dim UIResManager 
Dim Cache 
Dim CacheSize
Set UIResManager = createobject("UIResource.UIResourceMgr")
Set Cache=UIResManager.GetCacheInfo()

PowerShell script to modify SCCM client cache size

Use the below PowerShell script to increase SCCM client cache size.

$Cache = Get-WmiObject -Namespace 'ROOTCCMSoftMgmtAgent' -Class CacheConfig
$Cache.Size = '10240'
Restart-Service -Name CcmExec

The downloads links are listed below.



You can download the VB and PowerShell script by clicking on above links.

If you want to modify SCCM client cache size on multiple computers then you could deploy the script as a package to a device collection.

How to increase SCCM client cache size

Here are the steps to increase SCCM client cache size.

  • Launch the Configuration Manger console.
  • Click on Software Library and click on Application Management.
  • Right click on Packages and click on Create Package.
increase SCCM client cache size

Provide the Name, Description for this package. You need to specify the location where you have stored the script files so your Source folder should be the path where the script is located. Click Next.

increase SCCM client cache size

We will be using the VB script to the change the cache size, provide details for the standard program as shown in the below screenshot. cc.vbs is the name of the script file. Click Next and complete the wizard.

increase SCCM client cache size

Before you deploy the package you need to distribute the package to the distribution point. So right click package and click Distribute Content.

Ensure the you select the distribution point in next step. Deploy the package to a device collection, right click the package and click Deploy.

increase SCCM client cache size

Choose the collection for which you want to deploy this package and click Next.

increase SCCM client cache size

Set the Purpose to Available or Required. In this example I am setting it to Available. Click Next and complete the remaining steps by clicking Next.

increase SCCM client cache size

On the client machine open the Software Center and select the package and click Install Selected.

increase SCCM client cache size

Open the execmgr.log file on the client machine to see more details on the program execution.

increase SCCM client cache size

We have successfully changed client cache size.

Cache settings under Configuration Manager Properties

20 thoughts on “How to Increase SCCM Client Cache Size”

  1. Hello Prajwal.
    I follow up all steps and I got this error: Policy deleted for advertisement EZ120048 package EZ1000F5 program Script
    Raising client SDK event for class CCM_Program, instance CCM_Program.PackageID=”EZ1000F5″,ProgramID=”Script”, actionType 45l, value NULL, user NULL, session 4294967295l, level 0l, verbosity 30l

    I have looking for solutions and looks like I have to try with PS script ?!
    I’ll appreciate it if you can help.

  2. Powershellscript above had an issue with the WMI-Path but this would also work:

    [__comobject]$CCMComObject = New-Object -ComObject ‘UIResource.UIResourceMgr’## Get the CacheElementIDs to delete
    $cache = $CCMComObject.GetCacheInfo()
    $Cache.totalsize = 20480

  3. I’m guessing this isn’t possible to do during a task sequence as restarting the SCCM exec service probably isn’t a good idea during that process? Tried adding this package install to my task sequence but it failed out.

  4. Hi my friend, i have a issue with my environment. I’m deploying an application to my entire ambient, around 2k machines, it’s not a big application, but, the deployment have been taking weeks and isn’t over yet. I don’t know what to do, are you able to help me?

  5. Thanks for this. I had used a VBscript a while ago to do this, but it required a lot of digging on forums, etc. I found that I had made a huge error in storing my programs for deployment and it increased the sizing of many programs/deployments a 1000x fold. Now that I fixed it, I have removed the script and everything is solid!

  6. What would having a client cache set to Zero do? Mine is set to Zero and I can’t change it, but I notice a lot of APP’s fail.


Leave a Comment