You'll see this error pop up on Windows Server 2012 R2 or 2016 boxes running BranchCache, usually after a cumulative update or when a client tries to fetch cached content from a hosted cache server. The exact scenario: a client requests a file, the BranchCache server responds, but the client throws PEERDIST_ERROR_CONTENTINFO_VERSION_UNSUPPORTED (0X00000FD2) in the event log or an application like SCCM reports a transfer failure. It's intermittent — some files work, others don't.
What's actually happening?
BranchCache stores content information (the metadata that describes the hashes of the data blocks) on the server. That metadata has a version number. When Windows updates change the BranchCache protocol — which happens more often than you'd think — the old cached content info becomes incompatible. The server doesn't automatically delete it. So you end up with a mixed bag: fresh metadata works fine, old metadata trips the client's version check and kills the transfer.
Don't bother checking file permissions or DNS first. This isn't an auth or network issue. The culprit here is almost always stale content info sitting in the BranchCache database. The fix is to purge that database and let BranchCache rebuild it from scratch.
The fix
Run these commands in an elevated PowerShell or Command Prompt on the BranchCache server. This wipes the cached content info and restarts the service clean.
- Stop the BranchCache service. Open PowerShell as admin and run:
Stop-Service BranchCache -Force - Delete the cached data. BranchCache stores its data in
C:\Windows\ServiceProfiles\NetworkService\AppData\Local\PeerDist. You can either delete that folder or use the built-in tool:
netsh branchcache flushIf
netshcomplains, manually delete the contents of that PeerDist folder. I've had servers where the netsh command didn't clear everything — a manual cleanup is the nuclear option that always works. - Restart the service.
Start-Service BranchCache - Re-initialize BranchCache. On the server, run:
netsh branchcache set cachesize size=0Then set it back to the size you want (like 10% of disk):
netsh branchcache set cachesize size=10 percent=yes - Force a rehash. If you're using BranchCache for file shares via DFS or SMB, you might need to rehash the content. For SMB shares, just touch a file or restart the File Server service. For web content behind IIS, restart IIS:
iisreset
What if it still fails?
If the error persists after flushing, check if the server is running the latest Windows updates. Microsoft has patched BranchCache version handling multiple times. For Server 2016, look for KB4480973 or later. On Server 2019, make sure you're on at least the 1809 build with recent servicing stack updates.
Another thing to verify: the client's BranchCache service. If the server is fine but clients still throw the error, update the client OS too. Old Windows 8.1 clients won't always play nice with a newer server's content info. Push the updates and try again.
Last resort — if you're in a domain and have a hosted cache server (the kind that caches content from multiple sources), check the hosted cache's version. Sometimes the hosted cache is the one with stale data, not the source server. Flush that server too using the same steps above.
One more thing: if you're running BranchCache on a VM, make sure the virtual disk isn't a differencing disk that reverts on reboot. I've seen that cause weird cache corruption because the service writes data that disappears when the VM restarts, leaving behind partial metadata that triggers this error.
That's it. Flush, restart, update. You'll have BranchCache working again in ten minutes flat.