Change Client Cache to work like DP SCCMContentLib folder
Some deployed Applications and/or Packages during their execution modify their working directory (a log file created, new files created/deleted, etc...)
When that happens, the Peer Cache feature fails because when other devices get a copy they immediately discard it since the copy is distinct from the one defined at the SCCM server. The error message "The hash value is not correct" is registered by the devices that downloaded the modified copy.
I think the SCCM Client Cache should work like the "SCCMContentLib" folder existing at the Distribution Points, creating a hashed, compressed file for every package file.
The benefits from that would be:
- Saving disk space, since no duplicate files would exist (and since the files are compressed)
- Making the error message "The hash value is not correct" disappear since the downloaded files won't be modified
- Avoid cache files tampering after being downloaded (as explained in https://configurationmanager.uservoice.com/forums/300492-ideas/suggestions/34035289-local-cache-validation)
- Avoid cache files content access (some package files may contain sensitive information like Product Keys or plain text passwords that can be viewed)
Logically, at the execution time the client must join and extract all the package files to a temp directory.
I know that this suggestion probably will be discarded since it implies a deep redesign of the client's cache management code, but in the long run I think it will make a more robust client.