1. You are viewing our forum as a guest. For full access please Register. WindowsBBS.com is completely free, paid for by advertisers and donations.

Arie's Registry Hack for SFC

Discussion in 'Windows XP' started by martinr121, 2005/04/23.

Thread Status:
Not open for further replies.
  1. 2005/04/23
    martinr121 Lifetime Subscription

    martinr121 Inactive Thread Starter

    Joined:
    2002/01/07
    Messages:
    1,219
    Likes Received:
    0
    Hi All. In the latest issue of "Help With Windows" news letter, Arie published a registry hack to get SFC to "see" a copied I386 file from XP CD onto hard drive instead of looking for the Windows XP installation disc in CD drive.

    The hack instructed changes to this registry key:

    "HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Setup "
    Then:
    "Double click the value SourcePath in the right pane, and enter the location where you copied the I386 folder "

    Problem: My XP Home Edition has no value in this key for "Source Path"

    The closest value is "Installation Sources"

    Which up until the time I accidentally deleted all the values by entering the drive letter where I had copied the file to while they were highlighted in blue had a list of optical drives, hard drives, (some HDD letters like "M" and "J" which I don't have) and install programs.

    Anyhow, after entering D:\ as the "Installation Sources" I ran SFC which promptly asked for the Windows CD.

    Question 1. How bad did I muck up the machine? Checking System Restore, I find all entries erased, no restore points. I can restore from Drive Image, but don't want to if not neccessary.

    Question 2. Is it still possible to get SFC to "see" a HDD copy of I386, am I missing something?

    Any and all responses will be appreciated.

    Take care,

    Martin
     
  2. 2005/04/23
    surferdude2

    surferdude2 Inactive

    Joined:
    2004/07/04
    Messages:
    4,009
    Likes Received:
    23
    Hi Martin, glad you're still around.

    You should be able to fix that easy enough.

    Run Regedit and drill back to that Key again. Right click in the blank area of the right side pane and select NEW > STRING VALUE. Name the string SourcePath That's one word. Then double click that new String Value and type C:\ in the Value Data field. That assumes that you have copied the i386 folder from the XP install CD to your C:\ drive. Now, next time you run SFC it should find the files it needs without you having to insert the original install CD.

    I'm presuming that your ServicePackSourcePath and ServicePackCachePath Strings are still present and the Value Data is correct. Mine Value Data for those is c:\windows\ServicePackFiles and c:\windows\ServicePackFiles\ServicePackCache respectively. If need be, you can create those String Values and insert the Value Data in the same manner as outlined before.

    If this doesn't fix you up, I'd recommend deploying one of those image files that you so religiously make.

    Good luck.
     

  3. to hide this advert.

  4. 2005/04/23
    martinr121 Lifetime Subscription

    martinr121 Inactive Thread Starter

    Joined:
    2002/01/07
    Messages:
    1,219
    Likes Received:
    0
    Hurray!! Just ran sfc, start to finish, w/o having to click on retry once! :D

    Thanks Dude, your instructions worked as usual. Glad you're still here too.

    Reg paths for Service pack files AOK.

    Those "Installation Sources" entries looked like a history, I bet if I go to uninstall some program that was listed there, Windows won't find the uninstall path. But I will deal with that issue if and when when it arises. I don't see a need to restore an image right now.

    Thanks a million for your help.

    Take Care,

    Martin
     
  5. 2005/04/24
    Welshjim

    Welshjim Inactive

    Joined:
    2002/01/07
    Messages:
    5,643
    Likes Received:
    0
    surferdude2--
    What is "correct "?
    My "ServicePackFiles" folder is in C:\Windows. Since the HelpWithWindows article suggests setting the key for plain old SourcePath to C:\ (to allow access to C:\I386), I would think the logic would be to set "ServicePackFilesSourcePath" to C:\Windows, rather than to C:\Windows\ServicePackFiles.
    See my post
    http://www.windowsbbs.com/showthread.php?t=43999
    Also see my present Registry settings in attachment. They are as set by WindowsXP Pro except for SourcePath, which I changed yesterday to C:\ from D:\ (my CD-ROM drive).
    As you can see, my present Registry has a key for "ServicePackSourcePath" rather than "ServicePackFilesSourcePath ", although I in fact have the folder "ServicePackFiles" and not "ServicePack" in C:\Windows. I have no "ServicePack" folder on this PC, and the "ServicePackFiles" folder contains only an empty folder labelled I386. And another piece of information--I have no ServicePackCache folder on this PC.
    How would you recommend changing my Registry?
    Remember, my ServicePackFiles folder contains only an empty I386 folder, and I have no ServicePackCache or ServicePack folders.
    Perhaps asking about further changing the Registry is all moot in view of the last sentence? Or will I be creating these as time goes on? I only installed WinXP Pro two weeks ago.
    Many thanks.
     
  6. 2005/04/24
    martinr121 Lifetime Subscription

    martinr121 Inactive Thread Starter

    Joined:
    2002/01/07
    Messages:
    1,219
    Likes Received:
    0
    Mine:
     
  7. 2005/04/24
    Welshjim

    Welshjim Inactive

    Joined:
    2002/01/07
    Messages:
    5,643
    Likes Received:
    0
    martinr121--See you still have SourcePath pointing to D:\ . Is that where your I386 folder is? Or is that your CD-ROM Drive?
    Your picture shows you however have ServicePackSourcePath as C:\Windows\ServicePackFiles. That follows surferdude's suggestion, but in my post I wondered if that is correct.
     
  8. 2005/04/24
    martinr121 Lifetime Subscription

    martinr121 Inactive Thread Starter

    Joined:
    2002/01/07
    Messages:
    1,219
    Likes Received:
    0
    Hey Jim, hi all: D:\ is the location of my copied I386 file, it is a in a partition on boot drive. Glad you asked, got me to thinking, I'm wondering if maybe I should put it somewhere else, different HDD, off of the boot drive?

    As to the Service Pack reg entries location, decided it works, don't try to fix it. Messing in the registry too scary for me. Especially after accidently deleting all the entries under "Installation Sources ". That still has me worried.

    By the way, I copied the I386 file off of a slipstreamed service pack 2 CD. Figured less thrashing that way?

    Also, I have my optical drives at the last letters of the alphabet. W, X, Y & Z. When image restore program runs, they don' get shuffled around.

    You take care,

    Martin
     
  9. 2005/04/25
    Christer

    Christer Geek Member Staff

    Joined:
    2002/12/17
    Messages:
    6,585
    Likes Received:
    74
    Hi Martin!

    Prior to modifying the registry, right-click the key in the left hand panel and choose EXPORT. That will create a *.reg file which You can name appropriately. Double-clicking that *.reg file will restore the key to its former glory!

    Christer
     
  10. 2005/04/25
    martinr121 Lifetime Subscription

    martinr121 Inactive Thread Starter

    Joined:
    2002/01/07
    Messages:
    1,219
    Likes Received:
    0
    Hi Christer: Hey, I knew that, besides having a registry snapshot/restore (EDRNT) program here. Just absent minded/careless/unthinking/stupid. No negative after effects so far, lucky.

    Take care,

    Martin
     
  11. 2005/04/25
    Christer

    Christer Geek Member Staff

    Joined:
    2002/12/17
    Messages:
    6,585
    Likes Received:
    74
    Martin,
    that reminds me of myself!

    The more I believe that I know ...... :eek: ...... the less I adhere to normal sensible procedures ...... :( ...... like backing up when I should ...... :eek: ...... !!

    Christer
     
  12. 2005/04/25
    Welshjim

    Welshjim Inactive

    Joined:
    2002/01/07
    Messages:
    5,643
    Likes Received:
    0
    Still hoping someone will comment on my SourcePath Registry settings especially ServicePackSourcePath pointing to my CD-ROM drive. To change it to what surferdude2 recommended ( c:\windows\ServicePackFiles ) would have it point to an empty folder.
     
  13. 2005/04/25
    Christer

    Christer Geek Member Staff

    Joined:
    2002/12/17
    Messages:
    6,585
    Likes Received:
    74
    Jim,
    I did an installation of XP-pro-RTM with SP2 slipstreamed.

    FWIW, I attached a screenshot of my registry, H: is one of my opticals.

    If SP2 had been installed "on top" of an existing installation, from KB835935 downloaded and saved to a local partition, then I believe the ServicePackSourcePath would point to that location.

    Christer
     
    Last edited: 2005/04/25
  14. 2005/04/25
    Welshjim

    Welshjim Inactive

    Joined:
    2002/01/07
    Messages:
    5,643
    Likes Received:
    0
    Christer--Thanks for your response.
    What I did to arrive at today's situation is to install XP Pro SP2 from a retail CD over XP Home SP2.
    As mentioned, my "ServicePackFiles" folder contains only an empty folder labelled I386. (Actually that is not quite true. The I386 folder contains a folder named "lang" which really is empty.)
    It bothers me to change "ServicePackSourcePath" to an essentially empty folder.
    And I have no idea why my Registry mentions "ServicePackCache" when I have no such folder/file.
    Still would appreciate some advice on this.
    P.S. I have a very full C:\I386 folder, so I do have I386 files on the PC.
     
  15. 2005/04/26
    Christer

    Christer Geek Member Staff

    Joined:
    2002/12/17
    Messages:
    6,585
    Likes Received:
    74
    I believe that we are comparing apples with oranges and possibly a variety of other fruits here.

    On my system, the only folder I have that corresponds to one of the registry entries (DriverCachePath) is C:\WINDOWS\Driver Cache\i386 containing two *.cab files and six other files (*sys and *.exe). I don't have anything corresponding to ServicePackCachePath. This, I believe is due to the fact that I have not installed any ServicePack(s) but a clean XP-pro-SP2 (as my slipstreamed CD became). No "on top" installation of a ServicePack = no ServicePackFiles folder (which I had after installing SP2 "on top" as a test prior to doing a clean slipstreamed installation).

    By the way, my "source paths" are no longer correct. It took me approximately a minute to mess that up by assigning different drive letters to the opticals (H: => X: and I: => Y: respectively) immediately after the installation was completed. Being a Ghost fanatic ...... :cool: ...... I don't worry about this since I will probably never run SFC on my own computer.

    People who have bought a computer with XP-RTM and subsequently installed SP1 and then SP2 do probably have quite a different set of registry entries.

    Jim,
    If I understand what You're saying correctly, You have upgraded a clean installation of XP-home-SP2 to XP-pro-SP2 and have a different installation history than I have but neither of us have deployed SP2 "on top" and that's probably why our registries are "look-a-likes ". I can't give any well founded advice but I personally wouldn't redirect a source path or cache path to an empty folder.

    I wonder how/why Your i386 folder ended up on C: (the root) when I have mine where it is? You say that it's "full ", what does it contain compared to mine?

    Christer
     
    Last edited: 2005/04/26
  16. 2005/04/26
    surferdude2

    surferdude2 Inactive

    Joined:
    2004/07/04
    Messages:
    4,009
    Likes Received:
    23
    I've never given it much thought but now that I reflect on the remarks made here I think it might be a good idea to dig into it. It's a rainy day and I have nothing better to do than attempt to lead/mislead you guys. :D

    1. It's my understanding that IF you have an i386 folder on the root of your HD, it will contain the ORIGINAL version of the install files and they will be in a compressed format. IF that be true, you will likely have a value string under the Setup Key we have been discussing named CD Install. It will likely have a Value Data of 0 (zero). That implies that the original install was not via an installation CD and you likely have an OEM installed sstem. IF however, you installed the system originally via CD, you will not have the i386 folder on the root of the C: drive and the value data of the CD Install string will be 1 (one).

    2. Then IF you have a C:\windows\servicePackFiles\i386 folder, it will contain the updated installation files that reflect the latest ServicePack changes. You will have this folder ONLY if you have installed a ServicePack via a download to HD. You will not have it if you install the ServicePack from a CD.

    3. Then IF you have installed ANY ServicePacks via download, you will have C:\Windows\ServicePackFiles\ServicePackCache folder that is used as a temporary parking place for ServicePack files while downloading and installing. If you delete that folder or the reference in the registry to it, it will be created/re-created as needed. In theory, that folder should be empty at all other times. I suspect that any files left in there can be safely deleted since they would probably be orphans from some incomplete download. On the other hand, if you subsequently try the incomplete download again, these orphans may allow you to resume where you left off on some flawed/incomplete download.

    4. When running SFC, it will check to see if you have the above mentioned folders and will use the latest version of any file it need and will select the proper source without nagging you UNLESS you installed the ServicePack from a CD, in which case you will be asked for that CD.

    5. Presumably if you installed a ServicePack from a CD, you could later copy the i386 files from the SP to your HD and edit the Registry to reflect the new location. That should allow you to run SFC without being asked for the CD.

    6. I also think that IF you change from installing ServicePacks from CD to installing from a download, the Registry source path will be automatically changed to reflect the last source. That would make sense in view of the cumulative nature of the SP's.

    7. IF you have performed a Repair Install of an OEM system and used a CD to supply the files as opposed to the ones on the C:\i386 folder, the Value String for Installation Sources will list ALL sources you have used to date.

    8. I accept that these various Registry Value Strings may become incorrect at times but it doesn't seem to cause any problems other than a nag to insert media or supply the Path to it at times.

    Granted, a lot of that is supposition so if you have better insight, I'm listening.

    Best regards.
     
    Last edited: 2005/04/26
  17. 2005/04/26
    Arie

    Arie Administrator Administrator Staff

    Joined:
    2001/12/27
    Messages:
    15,174
    Likes Received:
    412
    Same goes for me... I whish I had the time... I had a look around, but adjusting that article to be completely up-to-date is going to take some digging around & will require extensive testing, so it's something on my "to-do" list, but it'll take time...
     
  18. 2005/04/26
    Welshjim

    Welshjim Inactive

    Joined:
    2002/01/07
    Messages:
    5,643
    Likes Received:
    0
    Christer--Again thanks for the reply.
    I agree that my post yesterday was not clear.
    I am trying to follow the suggestions made in the HelpwithWindows article
    http://helpwithwindows.com/WindowsXP/howto-24.html
    to change the various SourcePaths to allow SFC /SCANNOW to find system files on the PC's hard drive rather than on the OS's CD. I understand this has two benefits.
    1) To avoid having to use the WinXP CD, and perhaps more importantly
    2) So that using SFC /SCANNOW will refer to the latest files rather than those on the WinXP CD.
    Either the OEM installation of XP Home (or my subsequent installation of XP Pro over it) put an I386 folder in C:\ . That I386 folder has almost 1GB of files in it. (That is what I meant by "full ".) I assume they are the files from the OS, but that could be wrong. They certainly look like the OS system files, and many are dated August 2002, when my version of WinXP Home was created. I have not copied anything into that I386 folder, as suggested in the article, since I seemed to already have the I386 folder I needed.
    So when I set my "SourcePath" to point to C:\ , I assumed I had properly followed the suggestions in the HelpwithWindows article, and now, when I run SFC /SCANNOW the system will look in C:\Windows\I386 rather than in D:\ , my CD-ROM drive.
    But the question remains where to point the other SourcePaths, like "ServicePackSourcePath" and "ServicePackCacheSourcePath ".
    As mentioned there is essentially nothing in C:\Windows\ServicePackFiles folder, so it does not seem right to aim there. And I have no ServicePackCache folder, at least not under that name.
    P.S.(I do have lots of $NT* files in C:\Windows, but they are $NTUninstallKBxxxxxx files. I have no $NTServicePackUninstall$ files.)
    EDIT--Have seen that surferdude2 has posted while I was composing this. I will have to study his thoughts. I am sorry if the above covers ground surferdude2 has already explained.
     
  19. 2005/04/26
    Welshjim

    Welshjim Inactive

    Joined:
    2002/01/07
    Messages:
    5,643
    Likes Received:
    0
    surferdude2--You were most kind to spend part of that rainy day to help answer my questions. I will comment on some of the specifics you offer later on, but I understand your post in essence to say that
    A) the main potential benefit in the HelpwithWindows' article's suggestion about changing the Registry key is to avoid having to use the OS's CD.
    B) the files in the I386 file and on the CD (or as provided by an OEM installation) are probably the same, so you will not be accessing more recent files by pointing SourcePath to C:\ (aiming for I386).
    C) Windows will find the most recent files whether the SourcePath is C:\ or the CD-ROM drive containing the OS's CD. I like that idea, since, indeed, I find the most recent system files in Windows\System32\DLLCache, not I386.
    So, in summary that means there is little upside but also not much downside to following the suggestion concerning SourcePath in the HelpwithWindows article--other than possible avoiding the need to insert the OS's CD in the CD-ROM drive.
    So I should probably just leave things as they are, correct? (Please see image of my Registry keys. The only one I changed was to aim SourcePath to C:\ rather than D:\ (my CD-ROM drive). ) Any reason to change this back to D:\ ?

    Concerning your specific points,
    1) My present situation is that I installed XPProSP2 from a retail CD over the OEM installation of XPHome, which I had already updated to SP2 by download from WindowsUpdate. That hopefully explains why I have a value for CDInstall of 1, but I also have a C:\I386 folder with almost 1GB of system files.
    2) I am not sure I can comment on this or 3) until I know what you mean by ServicePack. Do you mean SP1 and SP2, for example, or the WindowsUpdate Hotfixes? I have nothing in the ServicePackFiles folder, and indeed XPHome SP2 was installed by download from WindowsUpdate. And I have installed all Hotfixes from WindowsUpdate. However, WinXPPro SP2 was installed from a CD.
    3) This does not seem to be my experience. As mentioned in 2), the SP2 for WinXPHome was installed by download from WindowsUpdate, but I have only empty I386\lang folders in the ServicePackFiles folder, and no ServicePackCache folder at all.
    6) My situation (installation of Pro including SP2 from CD over downloaded Home SP2) may not be a good reference for commenting on what you say.

    Again many thanks.

    Arie--Now how did the article causing all the fuss get mentioned in the latest issue of "Help With Windows" news letter?? :)
     
  20. 2005/04/26
    Christer

    Christer Geek Member Staff

    Joined:
    2002/12/17
    Messages:
    6,585
    Likes Received:
    74
    Well 'dude,
    I owe You a beer for saving me some traveling expenses ...... :p ...... ! Your work has saved me a trip to a few friends to have a look at their installation and service pack files and/or folders to compare with the stuff I've got. It seems like I was on the right track assuming that there could be a few variations on the theme.

    Jim,
    to get it in behind the bony part of my head:

    Was the OEM installation XP-home including SP1 or SP2? If not, had it been updated to SP1 and/or SP2 prior to the upgrade to XP-pro?
    Disregard the above question. It was answered while I was typing sloooooowly!

    When I went from XP-pro-RTM to SP1a and finally to SP2 (both updates from downloaded SP on local partition), I remember having two ServicePackFiles folders but only one C:\windows\driver cache\i386 folder. If I remember correctly, its size changed with the update to SP2 but not that much. It was approximately 0.5-1 GB in size. I discussed it here and will try to find the thread.

    Christer
     
    Last edited: 2005/04/26
  21. 2005/04/26
    surferdude2

    surferdude2 Inactive

    Joined:
    2004/07/04
    Messages:
    4,009
    Likes Received:
    23
    Jim, To clarify your point regarding my item #2 as to whether it referenced SP1 or SP2 - It references the last SP you installed. Further, if your ServicePackFiles folder is empty then it is because your last SP2 was via CD and not download. That would wipe all previous files and leave the folder empty. Then subsequent runs of SFC, for example, would ask for the CD.

    As to your other points, I fully agree that you should leave things as they are unless some specific reason surfaces that would indicate a need for any change. I can't imagine anything of that nature that couldn't be handled with a mere BROWSE to the proper files rather than any Registry editing. From that standpoint, I see no reason to change the SourcePath you mentioned if you still have the i386 folder on your root. If you want to dump that folder and change the SourcePath to your cd-rom drive, that would be easy enough but then you'll be nagged to supply the CD when the system needs it, such as running SFC. I'd leave the C:\i386 folder as is unless you absolutely must free up the space.

    In summary, I think this whole scenario is fairly dynamic and all factors are well managed by the OS without any user intervention. It is part of what makes XP so robust and I wouldn't change it much without having good backups and a definite goal in mind to satisfy some specific need.

    Best regards.
     
Thread Status:
Not open for further replies.

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.