UNSOLVED

maxd

updated

23 years ago

M

maxd

2 Intern

•

2434 Posts

0

46189

November 5th, 2003 17:00

dllcache gone, help

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 ?
  • gryjhnhpe

    2 Intern

    •

    1956 Posts

    2504

    0

    Posted November 5th, 2003 19:00


    @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.   

  • JRosenfeld

    2 Intern

    •

    4383 Posts

    2504

    0

    Posted November 5th, 2003 20:00

    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.
  • gryjhnhpe

    2 Intern

    •

    1956 Posts

    2504

    0

    Posted November 5th, 2003 20:00


    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

  • Hydralisk00222

    2 Intern

    •

    2440 Posts

    2504

    0

    Posted November 5th, 2003 20:00

    Files inside dllcache are not needed, FYI.

    So, you will be fine without them.

  • JRosenfeld

    2 Intern

    •

    4383 Posts

    2504

    0

    Posted November 5th, 2003 21:00

    Hydralisk00222,

    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

  • maxd

    2 Intern

    •

    2434 Posts

    2504

    0

    Posted November 6th, 2003 00:00

    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
  • Denny Denham

    2 Intern

    •

    18798 Posts

    2504

    0

    Posted November 6th, 2003 01:00

    maxd,

    My HKLM\Software\Microsoft\Windows\CurrentVersion\Setup is
    here.

    The system files are in C:\I386 on my hard disk.

    Message Edited by Denny Denham on 11-05-2003 07:53 PM

    Message Edited by Denny Denham on 11-05-2003 07:57 PM

  • gryjhnhpe

    2 Intern

    •

    1956 Posts

    2504

    0

    Posted November 6th, 2003 03:00


    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

  • JRosenfeld

    2 Intern

    •

    4383 Posts

    2504

    0

    Posted November 6th, 2003 14:00

    gryjhnhpe,

    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.

    What is the date of version 5.1.2600.29, and how did you get it? Unfortunately, the MS file version database at  http://support.microsoft.com/default.aspx?scid=/servicedesks/fileversion/dllinfo.asp only deals with .dll files so I can't look it up there.

  • Denny Denham

    2 Intern

    •

    18798 Posts

    531

    0

    Posted November 6th, 2003 15:00

    JRosenfeld,

    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.