This week is all about an awesome new feature that was introduced with the latest version of Configuration Manager, version 1910. That feature is that Microsoft Connected Cache now supports Win32 apps that are deployed via Microsoft Intune. Microsoft Connected Cache can be enabled on a Configuration Manager distribution point and serve content to Configuration Manager managed devices. That includes co-managed devices and now also Win32 apps, which enables a Configuration Manager distribution points to serve as a content location for Win32 apps deployed via Microsoft Intune. In this post I’ll start with a short introduction about Microsoft Connected Cache, followed with the required configuration of a Configuration Manager distribution point and the required configuration of the Configuration Manager clients. I’ll end this post by verifying the behavior on a client device.
Microsoft Connected Cache with Configuration Manager
Starting with Configuration Manager, version 1906, it’s possible to configure a Configuration Manager distribution point as a cache server that acts as an on-demand transparent cache for content downloaded by Delivery Optimization. In that version, the feature was known as Delivery Optimization In-Network Cache (DOINC). Starting with Configuration Manager, version 1910, this feature is now named Microsoft Connected Cache. Client settings can be used to make sure that the cache server is offered only to the members of the local Configuration Manager boundary group.
When clients are configured to use the Microsoft Connected Cache server, those clients will no longer request Microsoft cloud-managed content from the Internet. Those clients will request the content from the cache server installed on the Configuration Manager distribution point. The on-premises server caches the content using the IIS feature for Application Request Routing (ARR). Then the cache server can quickly respond to any future requests for the same content. If the Microsoft Connected Cache server is unavailable, or the content isn’t cached yet, clients download the content directly from the Internet.
Note: This cache is separate from the content on the Configuration Manager distribution point.
Enable distribution point as Microsoft Connected Cache server
The first step in configuring Microsoft Connected Cache in Configuration Manager for usage with Win32 apps from Microsoft Intune (or any other Microsoft cloud-managed content), is to enable a distribution point as a Microsoft Connected Cache server. However, before looking at that configuration, make sure that the on-premises distribution point meets the following configurations:
- The server is running Windows Server 2012, or later
- The default web site enabled on port 80
- The IIS Application Request Routing (ARR) feature is not yet installed
- The distribution point has Internet access to at least the Microsoft cloud
When the mentioned prerequisites are in-place, it’s time to have a look at the actual configuration steps. The following three steps walk through the process of enabling a distribution point as a Microsoft Connected Cache server.
- Open the Microsoft Endpoint Configuration Manager administration console and navigate to Administration > Overview > Site Configuration > Servers and Site System Roles
- Select {YourSiteSystemServer} select Distribution point and click Properties in the Site Role tab to open the Distribution point Properties dialog box
- In the Distribution point Properties dialog box, navigate to the General tab, perform the following configuration and click OK
- Select Enable the distribution point to be used as Microsoft Connected Cache server to enable this distribution point as a Microsoft Connected Cache server and to trigger the installation
- Select By checking this box, I acknowledge that I accept the License Terms to accept the license terms (and make sure to read them)
- Configure with Local drive the drive that should be used to store the cache on the server
- Configure with Disk space the maximum size of the cache on the server
- Optionally select Retain cache when disabling the Connected Cache server to make sure that the cache will be retained on the server when the configuration is disabled
Verify the installation
After enabling the distribution point to be used as a Microsoft Connected Cache server it’s time to follow the installation process to verify a successful installation. This process can be followed in the distmgr.log, as shown below. This log keeps track of the beginning and the ending of the installation.
Distribution Manager log file
When looking closely on the distmgr.log, the installation is actually wrapped in a PowerShell script. That script contains all the intelligence for checking the prerequisites, making the necessary backups and starting the actual installation. That whole process of that PowerShell script is logged in DoincSetup.log. Once it completed all actions, it will be shown in the both log files.
DOINC setup log
Additional things to look at are the CacheNodeService website and the Server Farms in IIS and the DOINC folder on the selected drive. All of these created items, should be created with the same unique ID in the name. Also, in the Task Scheduler there are two tasks created for maintenance and for keeping it alive.
Enable a client to use Microsoft Connected cache
The second step in configuring Microsoft Connected Cache in Configuration Manager for usage with Win32 apps from Microsoft Intune (or any other Microsoft cloud-managed content), is to enable a client to use a Microsoft Connected Cache server as location for content download. However, before looking at that configuration, make sure that the client devices meet the following configurations:
- The device is running Windows 10, version 1709, or later
- The client is Configuration Manager, version 1910, or later
- The device has 4GB, or more
When the mentioned prerequisites are in-place, it’s time to have a look at the actual configuration steps. The following three steps walk through the process of enabling a client to use a Microsoft Connected Cache server as location for content download. After creating these custom client settings, assign them to the devices like any other client settings.
- Open the Microsoft Endpoint Configuration Manager administration console and navigate to Administration > Overview > Client Settings
- Select Create Custom Client Device Settings to open the Create Custom Client Device Settings dialog box
- On the General section, provide a valid name and select Delivery Optimization
- On the Delivery Optimization section, provide the following settings and click OK
- Select Yes with Use Configuration Manager Boundary Groups for Delivery Optimization Group ID to make sure that the client uses this identifier to locate peers with the desired content
- Select Yes with Enabled devices managed by Configuration Manager to use Microsoft Connected Cache servers for content download to make sure that the client can use an on-premises distribution point that is enabled as a Microsoft Connected Cache server for content download
Custom Device Settings
Verify the behavior
After deploying the custom device settings to the required devices, it’s time to verify the behavior of the co-managed devices. I specifically mention co-managed devices, as I need to use Configuration Manager functionality and Microsoft Intune functionality. However, before verifying the behavior, it’s good to make sure that the following is also in-place to be able to use Win32 apps deployed by Intune on co-managed devices.
- The co-managed device and the Microsoft Connected Cache-enabled distribution point are in the same boundary group
- The pre-release feature Client apps for co-managed devices is enabled (often displayed as Mobile apps for co-managed devices)
- The Client apps workload is set to Pilot Intune or Intune.
When everything is available and configured, it’s time to actually look at the co-managed device. The first thing to look at is the actual configuration of Delivery Optimization on the device. Based on the custom client settings, the device will get the settings as shown below. The value DOCacheHost indicates that the distribution point is configured as Microsoft Connected Cache server, the value DODownloadMode indicates that a private group is configured and the value DOGroupId indicates the boundary group that is configured.
Delivery Optimization settings in the registry
After verifying the settings, it’s time to look at what happens after downloading a Win32 app that’s deployed via Microsoft Intune. The easiest method to verify the required behavior is by using PowerShell. The Get-DeliveryOptimizationStatus cmdlet will provide the information to verify the behavior. The property BytesFromCacheServer indicates that the Microsoft Connected Cache server is used for the download, the property DownloadMode indicates that the correct download mode is used and the property PredefinedCallerApplication indicates that the download was an Intune app download.
Delivery Optimization usage in PowerShell
More information
For more information about Microsoft Connected Cache with or without Configuration Manager, please refer to the following articles:
- Microsoft Connected Cache in Configuration Manager: https://docs.microsoft.com/en-us/configmgr/core/plan-design/hierarchy/microsoft-connected-cache#enable-connected-cache
- Introducing Microsoft Connected Cache: Microsoft’s cloud-managed cache solution: https://techcommunity.microsoft.com/t5/windows-it-pro-blog/introducing-microsoft-connected-cache-microsoft-s-cloud-managed/ba-p/963898
- Troubleshoot Microsoft Connected Cache in Configuration Manager: https://docs.microsoft.com/en-us/configmgr/core/servers/deploy/configure/troubleshoot-microsoft-connected-cache
Need assistance/guidance in order to utilize local server caching setting for Windows 10 Delivery Optimization configuration profiles using Intune/Endpoint Manager. Only references I have been able to identify refer to Microsoft Connected Cache, specifically one method that relies on ConfigManager and another that does not require ConfigManager: Connected Cache managed in Azure. This cusotmer does not have ConfigManager deployed and is not interested in doing that, nor do they want to rely on peer caching at this time. Please advise on how we can proceed with local server caching for Windows Updates using Intune and/or ETA for when the non-ConfigManager method will be available.
Hi Bawa,
I’m not completely sure, but to my knowledge Microsoft Connected Cache, without ConfigMgr, is still in preview.
Regards, Peter
Thanks for the quick reaponse Peter. Any relevant article if you can share that its in preview. Thanks in advance.
Have a look at this article and the comments, Bawa: https://techcommunity.microsoft.com/t5/windows-it-pro-blog/introducing-microsoft-connected-cache-microsoft-s-cloud-managed/ba-p/963898
Hi Peter,
I have new SCCM 2006 environment installed and have enabled MCC for a DP. During install the DoincSetup.log completes most tasks (sets up IIS Server Farms)… but last steps fail…
Removing existing downloaded content used for validation
Cound not find existing downloaded content in primary disk cache: D:\DOINC-E77D08D0-5FEA-4315-8C95-10D359D59294\b1.download.windowsupdate.com\mscomtest\cedtest\r20.gif.full
Failed to find downloaded content in the primary disk caches
VerifyCacheNodeSetup.ps1 failed to successfully complete
System.Management.Automation.RuntimeException: Failed to find downloaded content in the primary disk caches
PS>TerminatingError(): “Failed to find downloaded content in the primary disk caches”
Setup.ps1 failed to properly install
D:\SMS_DP$\Ms.Dsp.Do.Inc.Setup\Install.ps1 : Delivery Optimization In-Network Cache (DOINC) install failed (ReturnCode: 13631517)
At line:1 char:1
+ D:\SMS_DP$\Ms.Dsp.Do.Inc.Setup\Install.ps1 -CacheNodeIdParam 6MUnnHoN …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException
+ FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Install.ps1
D:\SMS_DP$\Ms.Dsp.Do.Inc.Setup\Install.ps1 : Delivery Optimization In-Network
Cache (DOINC) install failed (ReturnCode: 13631517)
At line:1 char:1
+ D:\SMS_DP$\Ms.Dsp.Do.Inc.Setup\Install.ps1 -CacheNodeIdParam 6MUnnHoN …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorExcep
tion
+ FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorExceptio
n,Install.ps1
Setting InvocationExitCode : 13631517
Setting InvocationErrorMessage : Failed to find downloaded content in the primary disk caches
Installer return code: 13631517
Hi Jay,
Did you verify if the content is available?
Regards, Peter
Hi Peter, no content appears in the DOINC_XXX directory. On the primary SCCM server , the SMS_DISTRIBUTION_MANAGER log also says “Delivery Optimization In-Network Cache setup on distribution point “ServerDP.domain.com” failed. Error code 13631517. This message appears a few days after installation.
Hi Jay,
Is there a proxy in your setup?
Regards, Peter
I am also receiving the same problem. Install seems to go fine, then I get this:
“Failed to find downloaded content in the primary disk caches”
Hi Jumprs,
Are you also receiving the same error?
Regards, Peter
Peter, yes I am receiving the same failure code and error message as Jay
Hi Jumprs,
Are you then also using a proxy in your configuration?
Regards, Peter
We are now seeing this same error after enabling enhanced HTTP in our environment. Config Mgr 2010 .
Hi Jason,
And it was working before?
Regards, Peter
Yeah, we were working until we had set up a couple of DP’s in March. We are about to try the hotfix linked here https://support.microsoft.com/en-us/topic/microsoft-connected-cache-component-fails-to-install-on-configuration-manager-current-branch-1522b86f-2ab4-4229-b380-17ab6ec75034
Ah, I hadn’t seen that hotfix yet, but looks similar. Curious about the results.
Regards, Peter
Hi Jason, did it work for you with the new hotfix? I’ve tested with this hotfix, but still the same error….
Hey Sandro Jager,
Yes, we applied the hotfix yesterday afternoon and today we successfully installed the sites that were failing before the hotfix. We also performed this action according to the tip in the hotfix.
Tip: For sites with a large number of distribution points, replace steps 4 – 6 above with the following.
– Create an empty file named resetdps.trn and place it in the {SMSInstallDir}\inboxes\distmgr.box folder. This will reinstall all distribution points for that site using the latest version of DoincInstall.exe copied in step 3. above.
Hi Peter, I have set this up using the SCCM DP. Also I have set some devices to use the MCC via Intune profiles, all working great for Windows Updates. I have a couple of clients set by Client settings SCCM and around 200 clients set via Intune (nothing configured via the SCCM client on the 200) They all appear to be using the Cache server for windows updates.
I have tried deploying a couple of Win32Apps from Intune and they do not appear on the clients. Do I need to configure something specifically for Intune app deployments?
Hi David,
There is a specific section in the docs nowadays, that explains the requirements. See also: https://learn.microsoft.com/en-us/mem/configmgr/core/plan-design/hierarchy/microsoft-connected-cache#support-for-intune-win32-apps
Regards, Peter