On July 23, 2025, Microsoft announced the general availability (GA) of the standalone Microsoft Connected Cache solution, which features a slightly different setup compared to the preview release. Here is a guide on getting it going. The GA version is still free to use.
You may also want to review the updated Release Notes.
Requirements
To use the standalone version of MCC, you need a machine – a physical device or VM – running Windows 11, Windows Server 2022/2025, or Linux. You also need an Azure subscription and E3/E5 or A3/A5 licenses. For more details on licensing, check this page: https://learn.microsoft.com/en-us/windows/deployment/do/mcc-ent-prerequisites
Upgrading Cache Nodes installed with the Preview version
There is no solid path for upgrading existing cache nodes deployed with the preview version. You'll need to uninstall the preview version before installing the new GA version. After a couple of test runs, I decided it was simpler to just deploy new cache nodes and give them the same name (and IP address) as the old ones.
Note: You don't need to remove the cache nodes in Azure; it will be migrated as soon as the new cache node is installed.

Step-by-step Installation Guide
For this guide, I used a Windows 11 24H2 Hyper-V VM for my MCC setup. Here are the steps:
1. Deploy a Windows 11 VM on a Hyper-V host supporting nested virtualization. I used a Windows 11 Enterprise 24H2 image, and the VM was running on an HP Z8 G4 Workstation. I named the VM MCC01 and gave it a 512 GB disk, 8 GB RAM, and 4 vCPUs.
2. On the Hyper-V host, enable nested virtualization on the MCC01 VM, the command is:
Set-VMProcessor -VMName MCC01 -ExposeVirtualizationExtensions $true
3. On the MCC01 VM, using an elevated PowerShell prompt, install the Hyper-V Management Tools (new requirement), and then reboot the VM.
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-Management-PowerShell -All
4. Create a local user account named MCCAccount, and add it to the local Administrators group. If you want to use PowerShell for that, here is a code snippet:
# Define credentials
$User = "MCC01\MCCAccount"
$myLocalAccountCredential = Get-Credential
# Create user, add to local administrators group, and set the account/password to never expire
New-LocalUser -Name MCCAccount -Password $myLocalAccountCredential.Password -PasswordNeverExpires -AccountNeverExpires
Add-LocalGroupMember -Group "Administrators" -Member "MCCAccount"
5. Using an elevated PowerShell prompt, install WSL 2 without any distributions using this command and then reboot the VM (the MCC deployment script is not very good at detecting any existing distros).
wsl --install --no-distribution
6. Navigate to the Azure portal (https://portal.azure.com), go to the Marketplace, search for Microsoft Connected Cache for Enterprise, and create the solution. I recommend using a separate resource group.
7. In the new Connected Cache for Enterprise & Education solution, expand Cache Node Management, and create a new cache node (I named mine MCC01).
8. In the MCC01 cache node properties, in the 1. Configuration tab, accept the default cache size of 150 GB. Then in the 2. Deployment tab, copy the Cache Node Deployment Command.

9. Install the new Windows-hosted deployment package by running the following command in an elevated PowerShell prompt:
Add-AppxPackage "https://aka.ms/do-mcc-ent-windows-x64"
10. On the MCC01 VM, in an elevated PowerShell prompt, set the following variables, and then run the previously copied Cache Node Deployment Command.
$User = "MCC01\MCCAccount"
$myLocalAccountCredential = Get-Credential
# Paste the full Cache Node Deployment Command, starting with Push-Location...


9. Go back to the Azure portal, and wait until the MCC01 cache node shows up as healthy.

10. To verify that the MCC responds, on another client on your network, in a PowerShell prompt, run the below command:
$MCC = "mcc01.corp.viamonstra.com"
Invoke-WebRequest -Uri "http://$MCC/filestreamingservice/files/7bc846e0-af9c-49be-a03d-bb04428c9bb5/Microsoft.png?cacheHostOrigin=dl.delivery.mp.microsoft.com"

11. Configure your clients to use the connected cache node, either via GPO's, Intune policies, or via DHCP. See this post for more details on DHCP setup: https://www.deploymentresearch.com/setup-microsoft-connected-cache-for-windows-autopilot-and-other-staging-scenarios/
12. On a few clients, verify that they are downloading content from the cache server. Either by simply running Resource monitor, or running the Get-DeliveryOptimizationPerfSnapThisMonth PowerShell cmdlet, or by viewing the Delivery Optimization activity monitor in Settings.

13. In the Azure portal, select the connected cache solution and select Overview.

Johan,
Great guide. Microsoft has announced "HTTPS enforcement for Microsoft Connected Cache for Enterprise and Education" as of June 16, 2026
https://learn.microsoft.com/en-us/windows/deployment/do/mcc-ent-https-overview?tabs=portal
I haven't seen anything about once you setup the HTTPS how you enforce it on clients
I think that redirection happens on the server side, haven't heard of any client configuration required.
Thank you for guide. After copying Cache Node Deployment Command, I get this error, and it seems that WSL MCC is not installed. Any idea what the problem might be ? Thanks in advance !! [12/09/2025 11:10:49] System.Management.Automation.MethodInvocationException: Exception calling "AddAccessRule" with "1" argument(s): "Some or all identity references could not be translated." —> System.Security.Principal.IdentityNotMappedException: Some or all identity references could not be translated. at System.Security.Principal.NTAccount.Translate(IdentityReferenceCollection sourceAccounts, Type targetType, Boolean forceSuccess) at System.Security.Principal.NTAccount.Translate(Type targetType) at System.Security.AccessControl.CommonObjectSecurity.ModifyAccess(AccessControlModification modification, AccessRule rule, Boolean& modified) at System.Security.AccessControl.CommonObjectSecurity.AddAccessRule(AccessRule rule) at CallSite.Target(Closure , CallSite , Object , Object ) — End of inner exception stack trace… Read more »
I have seen similar issues from time to time, especially when there is a pending reboot on the machine. Try rebooting the machine, and run the script one more time.
thank you for detail guide. everything works fine. but when do the connection verfication. Invoke-WebRequest -Uri "http://192.168.168.41/filestreamingservice/files/7bc846e0-af9c-49be-a03d-bb04428c9bb5/Microsoft.png?cacheHostOrigin=dl.delivery.mp.microsoft.com"
Invoke-WebRequest : The underlying connection was closed: An unexpected error occurred on a receive. Tried the localhost, the same issue, and MCC show unhealthy after a while.
Do you have any idea?
Nothing I have seen, but they have done recent updates to the installer, so mnaybe try again? I would guess something TLS related.
That is not true, MCC GA is not working, there is a product bug. I believe you have displayed screenshots from preview.
When I wrote this post on July 24, 2025, I already had a preview node that was migrated to the GA version. Since then, I have deployed many GA versions from scratch, and they all worked. If you are still seeing issues, let me know.