Aaron Stebner's WebLog

Thoughts about setup and deployment issues, WiX, XNA, the .NET Framework and Visual Studio

Steps I use to narrow down an OS update installation failure on Windows Vista and higher

Steps I use to narrow down an OS update installation failure on Windows Vista and higher

Rate This
  • Comments 33

A while back, I wrote a blog post describing a specific error that can occur when trying to install the .NET Framework 3.5 or 3.5 SP1 on Windows Vista and Windows Server 2008.  In that post, I talked at a high level about some of the steps I take to narrow down this type of error.  Those troubleshooting steps are useful in more scenarios than just the one in that blog post, and they are hard to find in a search currently because of the post that they're currently located in.  As a result, I decided to write a standalone post that describes the steps I follow when trying to narrow down an OS update installation failure on Windows Vista and Windows Server 2008.  I am going to write this post from the perspective of troubleshooting a .NET Framework 3.5 and 3.5 SP1 installation failure on Windows Vista, but the same techniques are typically valid for other OS update installation failures on Windows Vista and higher.

It is important to keep in mind that the .NET Framework 3.5 and 3.5 SP1 both install updates to the .NET Framework 2.0 and 3.0 behind the scenes.  On Windows Vista and higher, the .NET Framework 2.0 and 3.0 are installed as OS components, so that means that the updates to 2.0 and 3.0 are OS update packages.  This means that failures in the .NET Framework 3.5 and 3.5 SP1 setups on Windows Vista and higher can possibly be caused by problems with the OS update engine.

Find the error in the .NET Framework setup log file

If I am investigating an error installing the .NET Framework 3.5 or 3.5 SP1, I start by opening the log file named %temp%\dd_dotnetfx35install.txt and searching for the string ***errorlog event***.  If the problem is in an OS update, then the error in the log will indicate a failure installing the component named Microsoft .NET Framework 2.0SP1 (CBS) or Microsoft .NET Framework 3.0SP1 (CBS).

If one of these components is the cause of the failure, there will be lines in dd_dotnetfx35install.txt directly above the ***errorlog event*** that look like the following:

[03/03/09,11:11:11] Microsoft .NET Framework 3.0SP1 (CBS): C:\Windows\system32\WUSA.exe exited with return value 2148468760
[03/03/09,11:11:11] InstallReturnValue: GFN_MID NET Framework 3.0SP1 (CBS), 0x800f0818

The name of the component and the HRESULT value listed for the InstallReturnValue will vary depending on the root cause of the failure, but the process name will always be WUSA.exe - this is the Windows Update Standalone Installer that is used to install OS updates on Windows Vista and later.

Find the error in the OS update installation engine log file (cbs.log)

One I have determined that the root cause of the failure is an OS update, I proceed to look at the log file at %windir%\logs\cbs\cbs.log.  This is the verbose log file for the OS update installation engine on Windows Vista and higher.  This log file is typically very large, and there are a couple of different ways I try to narrow down the error in this log:

  1. Search for the value listed in the InstallReturnValue entry from the dd_dotnetfx35install.txt log file in cbs.log.  For the above example, I would search for 0x800f0818.
  2. Search for the string generating failure report in cbs.log.

For the above example, text appears in cbs.log that looks like the following:

2009-03-03 11:11:11, Info                  CBS    WER: Generating failure report for package: Package_for_KB948610~31bf3856ad364e35~x86~~6.0.6001.2123, status: 0x800f0818, failure source: Execute, start state: 4, target state: 7

Determine the meaning of the error and possible workarounds

From here, the next step I take depends on what data appears in cbs.log.  Some of the information I look for is the following:

  1. Does the same error code occur for multiple different OS update packages?  If so, that typically means that there is a problem with the OS update engine itself as opposed to with the update that is failing.
  2. Does the error code appear in the System Update Readiness Tool knowledge base article?  If so, I typically try to use the tool available in that knowledge base article and/or the steps in this blog post.
  3. Does the error code appear in the table of common CBS error codes?  If so, I try the workaround suggested there for the error code that I found in cbs.log.
  4. If the error code does not appear in either of the above articles, then I try to use the err.exe tool to determine more detailed information about the cause of the error.

Sometimes, no error code information will appear in cbs.log.  In those cases, I also look for the error code in %windir%\WindowsUpdate.log.  There is a table of Windows Update Agent error codes that can be useful for error codes that appear in WindowsUpdate.log.

For additional information

While researching this blog post, I found a useful link on TechNet - http://technet.microsoft.com/library/cc732334.aspx.  This link contains more details about how to read and interpret the following log files:

  • %windir%\WindowsUpdate.log
  • %windir%\logs\cbs\cbs.log

It includes a table of common errors that can appear in a cbs.log along with possible resolutions or workarounds.

<update date="12/2/2009"> Added a link to a table of Windows Update Agent error codes that can appear in %windir%\WindowsUpdate.log and can be helpful in troubleshooting OS update installation issues in some cases. </update>


  • I'm actually hitting this same problem you talk about here (0x800f0818) .  how did you solve this final problem ?

  • Hi Paul_mcdaniel - That particular issue that I quoted in this example was from one of my co-workers here at Microsoft.  It ended up being the result of some problem with the OEM OS image that was pre-installed on their system.  What is the exact make and model of your computer?

  • Hi Aaron, I scanned Windows server 2008 after imaging with the image craeted in Janaury 2009.  KB951847 keeps showing up.  Please forgive my ignorance for not being able to find it anywhere.  Do you have happen to have that lkink handy?  many thanks.

  • Hi TerryCheng - I'm not sure I understand your question here.  KB951847 is the knowledge base article for the .NET Framework 3.5 SP1 (http://support.microsoft.com/kb/951847).  Are you looking for the download link for the .NET 3.5 SP1 installer?  If so, you can find that at http://www.microsoft.com/downloads/details.aspx?familyid=AB99342F-5D1A-413D-8319-81DA479AB0D7.  Hopefully this helps.

  • Hi, I checked the install log and got this error:

    [04/02/10,22:56:25] Microsoft .NET Framework 3.0SP1 (CBS): ***ERRORLOG EVENT*** : Error: Installation failed for component Microsoft .NET Framework 3.0SP1 (CBS). MSI returned error code 38

    It was repeated several times in the log. However, I did try to install several times so it may be once per install.

    I also had the following at the end of the log:

    04/03/10,09:21:08] WapUI: ***ERRORLOG EVENT*** : DepCheck indicates Microsoft .NET Framework 3.0SP1 (CBS) is not installed.

  • Here is the data from the cbs log:

    0-04-03 09:20:19, Info                  CBS    WER: Generating failure report for package: Package_for_KB948610~31bf3856ad364e35~x86~~6.0.6001.2123, status: 0x80070026, failure source: Execute, start state: 4, target state: 7

  • Hi Neal Thomson - I'd suggest trying the tool and the 3 steps listed at the end of the blog post at http://blogs.msdn.com/astebner/archive/2009/01/09/9303167.aspx to see if they help you resolve this error.

  • Ok, I ran the system update readiness program. It found 3 errors in package manifests and catalogs (fixed all three plus replaced the paired files, , 13 errors in the component store and fixed 11 of them. Here is what was left:

    Unavailable repair files:



    So what next? delete the registry references to these? The only way I have ever edited my registry is with hijack this. Is it ok to use that here?

  • Good news, ran the tool, it fixed a bunch of stuff. There were two things it could not fix, but the turn features on and off screen was no longer blank so I tried patching the .net 3.5 SP1 and it worked. I then was able to download a windows vista SP2 I was never offered before. I'm running fine now and Turbotax loaded finally :)

    Thanks, your fix was the ONLY one that worked!

  • Hi Neal Thomson - I'm glad to hear that you were able to finally get Windows Vista SP2 and TurboTax to install correctly, but I'm very sorry for all of the hassles that these issues caused for you.  Please don't hesitate to contact me if you run into any additional issues in the future.

  • I came across this today and it helped me install Win7 64bit SP1 update. Before I ran the toll the updat ekept crashing with 80070005 error.



    What is the System Update Readiness Tool?

    The System Update Readiness Tool can help fix problems that might prevent Windows updates and service packs from installing. For example, an update might not install if a damaged system file prevents the update from recognizing the version of Windows that's running on your computer.

    If your computer is having problems installing an update or a service pack, download and install the tool, which runs automatically. Then, try installing the update or service pack again.

  • i dont even know what to do............

    never done this before.................


  • Hi Seth - Can you please use the tool described at blogs.msdn.com/.../6458047.aspx to collect all of your setup log files, upload the file named %temp%\vslogs.cab that this tool will create to a file server (such as http://skydrive.live.com), and then reply back here and post a link that I can use to download your log files and take a closer look?

  • Sure, thanks, i really suck at this.

    best help ive gotten in a whole week

  • www.mediafire.com

    here you are,

    as asked.

Page 1 of 3 (33 items) 123
Leave a Comment
  • Please add 3 and 4 and type the answer here:
  • Post