My OEM XP (SP1) version didn't have the dllcache in system32; that's why, I'm presuming, every attempt to run the sfc command always asked for the cd. The dllcache was actually in c:\windows\last known\system32; there was the standard system32 in Windows. I read that the dllcache was normally in c:\windows\system32.
Somehow thru a combination of renaming, copying, and whatever I got Windows to eat my dllcache. I did a registry hack and now have dllcache reg path set to c:\windows\system32; can't remember if this helped cause the loss of the folder or not.
Q1. What's the easiest way to 'manually' restore this folder (with contents) ?
Q2. I will have to re-apply my Windows updates, won't I ?
@maxd wrote:
My OEM XP (SP1) version didn't have the dllcache in system32; that's why, I'm presuming, every attempt to run the sfc command always asked for the cd. The dllcache was actually in c:\windows\last known\system32; there was the standard system32 in Windows. I read that the dllcache was normally in c:\windows\system32.
Somehow thru a combination of renaming, copying, and whatever I got Windows to eat my dllcache. I did a registry hack and now have dllcache reg path set to c:\windows\system32; can't remember if this helped cause the loss of the folder or not.
Q1. What's the easiest way to 'manually' restore this folder (with contents) ?
Q2. I will have to re-apply my Windows updates, won't I ?
The DLLCACHE is a Hidden System Folder , mine also shows in it C:\Windows\LastGood\system32 & C:\Windows\system32 to show Hidden System use "My Computer" , Tools > Folder Options , View tab & check "Show hidden file & folders" & untick "Hide protected operating system files". Then use Search Advanced (1st 3 boxes ticked) for dllcache
To replace DLLCACHE files use sfc /purgecache then sfc /scannow
scf /scannow only requires the XP CD to replace files if it doesn't find any corrupted it doesn't need XP CD.
I don't have a \Windows\Lastgood folder, nor \Windows\Last known, only the \Windows\system32\dllCache folder (perhaps because I've never had to repair or reinstall XP?). Also, if you have C:\I386 (which is a copy of the I386 folder on the XP disk), then I think sfc /scannow will look there instead of the disk.
JRosenfeld wrote: I don't have a \Windows\Lastgood folder, nor \Windows\Last known, only the \Windows\system32\dllCache folder (perhaps because I've never had to repair or reinstall XP?). Also, if you have C:\I386 (which is a copy of the I386 folder on the XP disk), then I think sfc /scannow will look there instead of the disk.
I found SFC /scannow used SourcePath shown by HKEY HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup
Mine was CD Drive D:\ so I changed it to C:\ & SFC /scannow runs OK without using the XP CD. I also found after using the DELL reinstallation XP CD that Folder i386 wasn't on HD C:\i386 so I Copied it from CD to C:\i386.
( I also found after reinstallation from DELL XP CD with SourcePath pointing to CD Drive that SFC /scannow replaced many files from CD & subsequent SFC /scannow replaced the same number of files from CD for every use of SFC /scannow. Perhaps I have a fault as before use of DELL reinstallation XP CD SFC /scannow used to run without replacing files from CD)
Message Edited by gryjhnhpe on 11-06-2003 10:07 AM
It is correct that if the dllcache is empty, sfc will replace missing files from I386 (either on the CD or on C;\, whichever it is pointed to as gryjhnhpe says). However, when a Windows update replaces a dll file with a later version, the later version is also placed in dllcache. So if you delete those and run sfc, it will copy the outdated version, and the effect of the patch is nullified. sfc checks the files in system32 (mainly) and if corrupted, first looks in the cache, that's what the cache is for. This also applies to othher file types, such as system .exe files that have been updated (Explorer.exe is an example).
Example, Shell32.dll version in I386 (XP home SP1 OEM) is 6.0.2800.1106; in DLL cache (and in system32) it is 6.0.2800.1253, the result of one or other Windows Update.
Message Edited by JRosenfeld on 11-06-2003 12:03 AM
PS. You can see which files a particular update replaced by looking at its $NTUninstall foder, which lists the files (and their versions) which it replaced (i.e. the versions the uninstall would put back).
Message Edited by JRosenfeld on 11-06-2003 12:09 AM
Message Edited by JRosenfeld on 11-06-2003 12:13 AM
I had "show Hidden Files and Folders" checked but I failed to uncheck " Hide Protected OS Files". Doing so, and thankyou, not only showed the default dllcache but the Last Good one as well. My default dllcache was empty but I repopulated it with scannow. When I re-ran the sfc /scannow command it still called for the cd proving that my reg hacking leaves something to be desired. I'll post my values/paths tomorrow, Lord willing. In the mean time if anyone can paste a screen shot of the Setup (right) pane it would help. ta
maxd wrote: I had "show Hidden Files and Folders" checked but I failed to uncheck " Hide Protected OS Files". Doing so, and thankyou, not only showed the default dllcache but the Last Good one as well. My default dllcache was empty but I repopulated it with scannow. When I re-ran the sfc /scannow command it still called for the cd proving that my reg hacking leaves something to be desired. I'll post my values/paths tomorrow, Lord willing. In the mean time if anyone can paste a screen shot of the Setup (right) pane it would help. ta
Have you used DELL reinstallation CD & does SFC /scannow use CD to replace all files or only some.? (does the CD Drive start & stop during SFC /scannow , indicating it is only used to replace some files) If SFC /scannow runs without using CD for others who have used DELL reinstallation CD with SourcePath of D:\ , then I have a fault.
I found Windows File Protection SFC /scannow uses winlogon.exe I have version 5.1.2600.29 , 419 KB on CD Home & with SP1 installed the dllcache shows version 5.1.2600.1106 , 505 KB. Curios: ? If the dllcache is emptied with SFC /purgecache & then SFC /scannow run is replaces files from XP CD so it must have list somewhere of files to replace. (perhaps in winlogon.exe) (SourcePath CD-Drive ie: D:\)
Message Edited by gryjhnhpe on 11-06-2003 05:52 PM
XP SP1 home was installed as OEM on my PC, and that is also my CD version. It shows winlogon.exe version 5.1.2600.1106, 505KB, date created and modified both 29/08/2002. It is still the version in \sytem32, no post SP1 updates have updated it (I have all critical and security updates installed), it is not in my DLLCache (as I said earlier, updated file versions are placed in the DLLCache), so I guess that is the current version.
I have the same version you have and on my system it is located in C:\Windows\system32 and C:\Windows\system32\dllcache. I received my system without SP1 and installed SP1 when it became available, which explains the presence of the file in two locations on my computer. The version of winlogon.exe that is on my non-SP1 CD is 5.1.2600.0 with a date of 8/17/2001 and a size of 420KB.
The 5.1.2600.29 version of the file was contained in the hotfix described
here which I have not installed on my computer. Even if I had, it should have been replaced by the later version.
gryjhnhpe
2 Intern
•
1956 Posts
2504
0
Posted November 5th, 2003 19:00
The DLLCACHE is a Hidden System Folder , mine also shows in it C:\Windows\LastGood\system32 &
C:\Windows\system32
to show Hidden System use "My Computer" , Tools > Folder Options , View tab & check "Show hidden file & folders" & untick "Hide protected operating system files".
Then use Search Advanced (1st 3 boxes ticked) for dllcache
To replace DLLCACHE files use
sfc /purgecache
then sfc /scannow
scf /scannow only requires the XP CD to replace files if it doesn't find any corrupted it doesn't need XP CD.