In this post we will discuss about SCCM client cache. 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.
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
On Error Resume Next Dim UIResManager Dim Cache Dim CacheSize CacheSize=20000 Set UIResManager = createobject("UIResource.UIResourceMgr") Set Cache=UIResManager.GetCacheInfo() Cache.TotalSize=CacheSize
PowerShell script to modify SCCM client cache size
$Cache = Get-WmiObject -Namespace 'ROOTCCMSoftMgmtAgent' -Class CacheConfig $Cache.Size = '10240' $Cache.Put() Restart-Service -Name CcmExec
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 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.
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.
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.
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.
Choose the collection for which you want to deploy this package and click Next.
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.
On the client machine open the Software Center and select the package and click Install Selected.
Open the execmgr.log file on the client machine to see more details on the program execution.
We have successfully changed client cache size.