Steps that might help fix Windows Update errors and a blank Windows Features dialog in Windows VistaOver the holidays, I was asked by a friend to look at a problem they were running into on their Windows Vista system. They were unable to connect to Windows Update and check for updates and received a cryptic error message. After a few minutes of poking around on the system, I recognized a common set of symptoms that I had also seen on a couple of co-workers' systems a few weeks prior to that. I also recognized some symptoms that I've heard about from customers via my blog who had trouble getting the .NET Framework 3.5 to install on Windows Vista due to issues with the .NET Framework 2.0 SP1 and/or .NET Framework 3.0 SP1 OS update packages that it tries to install behind the scenes.Since I had a system available to debug on, I ran through some troubleshooting steps that I've learned over the past couple of years related to Windows Vista OS update installation issues and identified several specific symptoms, and then eventually came up with a set of steps to fix this system. Then I came back to work after the holidays and tried out the steps on my co-workers' systems and found that the same basic set of symptoms and resolution steps worked there as well. As a result, I'm going to try to summarize these symptoms and the steps I used to resolve them in the hope that they might be helpful to others suffering from the same issues on their systems.Symptoms of this problemIn the systems I've been able to find so far with this type of problem, I've observed a common set of symptoms.Symptom 1: Blank Windows Features dialogGoing to the Programs and Features control panel and then clicking the link on the left labeled Turn Windows features on or off brings up the Windows Features dialog. This can also be launched directly by running OptionalFeatures.exe. In the error cases I've seen, the Windows Features dialog appears completely empty instead of listing all of the Windows components that can be enabled or disabled on the system.Symptom 2: Blank list of installed updatesGoing to the Programs and Features control panel and then clicking the link on the left labeled View installed updates brings up a list of installed service packs, updates and hotfixes for the OS and any applications installed on the OS. In the error cases I've seen, the list of installed updates was completely empty, even when I knew for sure that some OS updates had been installed on the system.Symptom 3: Error when attempting to check for updates using Windows UpdateGoing to the Windows Update control panel and choosing the Check for updates link either reports an error message and an HRESULT code (for example, 0x80070005 or 0x80073712) or states that there were no updates available for the system.Symptom 4: Hang or error when attempting to manually download and install OS updatesBypassing the Windows Update control panel by going to the Microsoft support site and directly downloading and attempting to install a Windows OS update package results in the update hanging and failing to complete installation or the update reporting that it is not applicable on the current OS and exiting without installing.I saw the latter behavior for the .NET Framework 3.5 on systems in this state. On Windows Vista, the .NET Framework 3.5 attempts to install the .NET Framework 2.0 SP1 OS update package (because the .NET Framework 2.0 is an OS component on Vista). When the systems I observed were in this broken state, the .NET Framework 2.0 SP1 failed to install, and I observed the following error in the .NET Framework 3.5 or 3.5 SP1 log file named %temp%\dd_dotnetfx35install.txt:[08/08/08,11:11:11] Microsoft .NET Framework 2.0SP1 (CBS): ***ERRORLOG EVENT*** : Error: Installation failed for component Microsoft .NET Framework 2.0SP1 (CBS). MSI returned error code 1.Error code 1 from the .NET Framework 2.0 or 3.0 CBS package means that the package is not applicable on the current OS.Steps that might help resolve this problemOn the systems that I have been able to find in this state so far, I have used the following set of steps to get the system back into a working state so that it could display information in the Windows Features dialog, check for updates using Windows Update and successfully install OS updates. I have only been able to work with a few systems in this broken state though, so I'm not sure the same set of steps will always work. I wanted to post them here in case there are helpful in some cases though, but please keep in mind that your mileage may vary.1.Download the System Update Readiness Tool and save the .msu fileto your desktop. You need to make sure to download the correctversion of this tool because there is a different version for eachOS type and processor architecture. You can find the downloadlinks for this tool in this knowledge base article.2.Run the System Update Readiness Tool. Once you download theappropriate .msu file for your OS type and processor architecture,you can double-click on it to install it. This tool is not anOS update, but it uses the .msu packaging logic that OS updatesuse. Therefore, it will tell you that it is installing thepackage, but it is actually running the tool in thebackground. When the tool is running, you will see processesnamed checksur.exe, checksurlauncher.exe and checksurpackage.exelisted in Task Manager.3.4.Note: The tool attempts to fix any problems that it finds on thesystem. However, it was not able to fix the problems it foundon the systems that I have seen that experienced this type ofproblem. It is still useful to run the tool in order to createa log file that lists the issues it finds.5.Look at the output in the CheckSUR.log file and make fixes basedon what the tool reports. The checksur.exe tool created a logfile at the followinglocation: %windir%\Logs\CBS\CheckSUR.log. On the systems thatI have seen this type of problem on, the CheckSUR.log reportedproblems with some of the registry values located underHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages on the system. I used theinformation in CheckSUR.log to locate and manually delete keyswith errors reported for them. On one of the systems, some ofthe sub-keys only had permissions assigned to them for the localsystem account, so I had to add the Administrators group and thendelete them. On one of the other systems, some of the sub-keyswere reported as orphaned from some previous OS update that hadbeen installed on the system, so I manually deleted them.6.7.One very important note here - I strongly recommend making abackup of your registry before trying to manually change any ofthe sub-keys under thisHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages key. This sub-key containsinformation that is usually only modified by installing anduninstalling OS update packages, so it is possible to causeproblems with the OS if you delete keys that are still needed. Ifyou do not feel comfortable manually backing up and modifying yourregistry, then I instead recommend that you try to repair your OSby re-running OS setup using your original OS installation disc.Note - I found another blog post with a more detailed step-by-step description about how to fix the Component Based Servicing registry keys. You can find that postat /blog/archives/2009/03/06/fix-blank-or-empt y-list-in-vista-turn-windows-features-on-or-off-optionalfeaturesexe/ .Hopefully this set of steps will be helpful to some folks who run into this type of symptoms on their Windows Vista systems. Again, I want to emphasize that I've only been able to directly look at a few systems that exhibited this type of symptoms, so these steps may or may not help 100% of the time if you have a system in a similar state.<update date="2/11/2009"> Updated list of steps to run the CheckSUR tool because the packaging for the tool has changed since the time I originally wrote this blog post. </update><update date="4/3/2010"> Added a link to a blog post with additional steps about how to fix the Component Based Servicing registry keys. </update>∙Setup Issues, Windows Vista, .NET Framework setup anddeployment, Essentials for setup troubleshooting, Diagnosing∙Aaron Stebner's WebLog13 Mar 2009 12:48 AMA while back, I wrote a blog post describing a specific error that can occur when trying to install the∙David Rendall26 Jun 2011 8:21 AMStep 3 worked for me - many thanks for saving me from having to do a full OS reinstall.∙Zimfree9 Jul 2012 1:35 PMHi! I am running Win 7 Pro 64 bit. I can't install Visual C++ 2005 and found your blog while searching for help. I've tried a few things you mentioned and found that I get the blank list in the 'Turn Windows components on/off'. I ran the 'System Update Readiness Tool' and got these error messages in the log:=================================Checking System Update Readiness.Binary Version 6.1.7601.21645Package Version 15.02012-07-09 15:30Checking Windows Servicing PackagesChecking Package Manifests and CatalogsChecking Package WatchlistChecking Component WatchlistChecking PackagesChecking Component Store(f) CSI Corrupt Identity 0xC0150017 Microsoft-Windows-GroupPolicy-Base, Culture=neutral, Version=6.1.7600.16385,PublicKeyToken=31bf3856ad364e35, ProcessorArchitecturu=amd64, versionScope=NonSxSamd64_}icrosoft-windows-grouppolicy-base_31bf3856ad364e35_6.1.7600.16 385_none_8418538600b3acac Bad identity(f) CSI Manifest Missing 0x00000002amd64_}icrosoft-windows-grouppolicy-base_31bf3856ad364e35_6.1.7600.16 385_none_8418538600b3acac.manifestamd64_}icrosoft-windows-grouppolicy-base_31bf3856ad364e35_6.1.7600.16 385_none_8418538600b3acacSummary:Seconds executed: 226Found 2 errorsCSI Manifest Missing Total count: 1CSI Corrupt Identity Total count: 1Unavailable repair files:winsxs\manifests\amd64_}icrosoft-windows-grouppolicy-base_31bf3856ad3 64e35_6.1.7600.16385_none_8418538600b3acac.manifestCan you help me fix this so I can install Visual C++ 2005? I intended at some point to do a fresh install (since it seemed that I would have no other choice) but I am currently working on a project that I need to finish ASAP and cannot because the software requires Visual C++ 2005. I don't want to do a fresh install of Windows until the project is finished.Thanks in advance!∙Aaron Stebner∙Kautsky19 Nov 2012 6:58 AMHi, i have this same & i followed your tutorial, But !!CheckSUR.log :=================================Checking System Update Readiness.Binary Version 6.1.7601.21645Package Version 16.02012-11-19 14:22Checking Windows Servicing PackagesChecking Package Manifests and CatalogsChecking Package WatchlistChecking Component WatchlistChecking PackagesChecking Component StoreSummary:Seconds executed: 1260No errors detectedHowever the features list is still empty, i've installed all of windows7's latest updates.Any ideas ?∙Aaron Stebner∙amu30 Sep 2014 12:51 PMi installed the system and in the checksurlog this is the entry=================================Checking System Update Readiness.Binary Version 6.1.7601.21645Package Version 12.02014-10-01 00:03Checking Windows Servicing PackagesChecking Package Manifests and Catalogs(f) CBS MUM Corrupt 0x00000000servicing\Packages\Microsoft-Windows-IE-Hyphenation-Parent-Package-En glish~31bf3856ad364e35~~~10.2.9200.16437.mum Expected file name Microsoft-Windows-IE-Hyphenation-Parent-Package-English~31bf3856ad364 e35~neutral~~10.2.9200.16437.mum does not match the actual file name(f) CBS MUM Corrupt 0x00000000servicing\Packages\Microsoft-Windows-IE-Spelling-Parent-Package-Engli sh~31bf3856ad364e35~~~10.2.9200.16437.mum Expected file name Microsoft-Windows-IE-Spelling-Parent-Package-English~31bf3856ad364e35 ~neutral~~10.2.9200.16437.mum does not match the actual file name(f) CBS MUM Corrupt 0x800F0900servicing\Packages\Package_2_for_KB2850851~31bf3856ad364e35~amd64~~6.1.1.1.mum Line 1:(f) CBS Catalog Corrupt 0x800B0100servicing\Packages\Package_2_for_KB2850851~31bf3856ad364e35~amd64~~6.1.1.1.cat(f) CBS MUM Corrupt 0x800F0900servicing\Packages\Package_3_for_KB2850851~31bf3856ad364e35~amd64~~6.1.1.1.mum Line 1:(f) CBS Catalog Corrupt 0x800B0100servicing\Packages\Package_3_for_KB2850851~31bf3856ad364e35~amd64~~6.1.1.1.cat(f) CBS MUM Corrupt 0x800F0900servicing\Packages\Package_for_KB2835364_SP1~31bf3856ad364e35~amd64~~ 6.1.1.1.mum Line 1: INDX((f) CBS MUM Corrupt 0x800F0900servicing\Packages\Package_for_KB2835364~31bf3856ad364e35~amd64~~6.1.1.1.mum Line 1: INDX((f) CBS MUM Corrupt 0x800F0900servicing\Packages\Package_for_KB2850851_SP1~31bf3856ad364e35~amd64~~ 6.1.1.1.mum Line 1:(f) CBS Catalog Corrupt 0x800B0100servicing\Packages\Package_for_KB2850851_SP1~31bf3856ad364e35~amd64~~ 6.1.1.1.cat(f) CBS MUM Corrupt 0x800F0900servicing\Packages\Package_for_KB2850851~31bf3856ad364e35~amd64~~6.1.1.1.mum Line 1:(f) CBS Catalog Corrupt 0x800B0100servicing\Packages\Package_for_KB2850851~31bf3856ad364e35~amd64~~6.1.1.1.catand there is only a single key in packageswhat should i do pls help i need to on the iisAaron Stebner。