New
#1
system32 vs. syswow64 DLL hash errors I can't fix.
after doing sfc /scannow, CBS.log reports these hash errors I can't fix.
[590]2024-01-23 17:48:02, Info CSI 00000223 Hashes for file member [l:13]'srmclient.dll' do not match.
[594]2024-01-23 17:48:02, Info CSI 00000225 Hashes for file member [l:11]'srmscan.dll' do not match.
[598]2024-01-23 17:48:02, Info CSI 00000227 Hashes for file member [l:12]'srmshell.dll' do not match.
[602]2024-01-23 17:48:02, Info CSI 00000229 Hashes for file member [l:13]'adrclient.dll' do not match.
[606]2024-01-23 17:48:02, Info CSI 0000022b Hashes for file member [l:14]'srmstormod.dll' do not match.
The ownership, in system32 and syswow64 plus on another PC which does pass sfc /scannow all match including dates and file sizes.
I've tried the dism restorehealth with /ResetBase and componstorecleanup. I've tried an in place install that keeps my files.
As a last resort, I tried to copy from a good win 10 laptop where both have win10pro from the syswow64 directory to the laptop with the issue for these files, but it would require changing alot of permissions. I'm not sure that any user entries and settings such as give full control is in the registry that some how impacts the computation for the hashes. Since I dont know what hash calculation they are doing such as checksum, sha, or some other one, I wouldn't know which free program to get that would calculate these for the system32 and syswow64 for each dll file so that I could compare the computed values to validate what windows is calculating.
In the end, is the hash calculated upon sfc /scannow on the fly or are these values stored somewhere. Hopefully its not getting things from a restore point, since if the restore point is turned off, they wouldnt have any data to use for computation or replacement. What if I replace the winsxs windows store files for the bad dll filenames? The files in this directory are a different name and each have long number on the end of each one that could be the expected checksum that is being used.
So for example, adrclient.dll comes up with around 7matches in this directory when searched with *adrclient*
Hence one of the files found is,
C:\Windows\WinSxS\x86_microsoft-windows-fsrm-common_31bf3856ad364e35_10.0.19041.3636_none_e227a6e75dc6ede8
will contain adrclient.dll when windows explorer searches for the filename and within the file and then shows the various filesizes and it appears this one matches the filesize of the one in the system32 and syswow64 directory.
The CBS.log hash error for adrclient.dll is,
Expected: {l:32 ml:33 b:3cb523323b2a7d84df82908f7610ff8b9b949bfdf554a12bd98ee1e77d23a046}.
Actual: {l:32 b:3300568140cc4269662e0edd8b71c7ef4fbc92ba8e87c5293d6815ac1410dda0}.
Hence these long numbers don't match the above filename numbers.
Any ideas besides reinstalling the OS from scratch?
One thing would be to downgrade win10pro back to win10home since these filese pertain to win10pro. I could hope that on downgrade they'd be removed. Then upgrade back to win10pro to get them back and fix the problem. However, I don't see an option to downgrade unless changing the license to a win10home license would do the trick!
Last edited by swegmike; 24 Jan 2024 at 07:53.