Partager via


How to overcome error 0x80070490 when installing updates in Windows Vista/Server 2008

Disclaimer:
Please note that getting this error is a serious hint towards an unstable system (in my case it was caused by a faulty hard drive). While the solution steps worked fine on my system, please create and test a backup of your system before trying the below. You can easily get to the point where a complete reinstall is needed. Nevertheless this solution has saved my a couple of days despite the time invested to go through the effotr of testing my thoughts and findings.
Please also note that you should feel comfortable with using regedit. 

Having said that, lets get to it. So the issue is: You run a Windows Update check and find some updates need to be installed. Applying one or more of the updates fails with the error in the title.

Searching for help, you will likely find this and this. Going over the steps listed there did not help.
Note: In case the content expires on the locations, I have put an edited version below.

So now you have done all that and still the update doesn't work..I hope you did note that you will need to modify the script to use your localized equivalent to "Administrators" (i.e. "Administratoren" in the German Version). For me when trying to bite the bullet and using the RTM DVD to reinstall setup gave me an "Internal Error 0" response which meant that path was blocked as well. At this point it is important to understand that all system components on the 6.x versions of Windows are controlled and executed by the "Component Based Servicing" (Technet Link) Engine which uses the "TrustedInstaller" account to run and log all updates of system components.

So I decided to give the CBS logging a chance (which is on by default) and found this near the end in %windir%\logs\cbs\cbs.log:

2008-09-27 15:53:29, Error CBS Failed to resolve Package: Package_for_KB905866~31bf3856ad364e35~x86~~6.0.22.0. hr: 0x80070490

 

I now went to the registry searching for the string "KB905866" starting at <HKLM\software\Microsoft\Windows\CurrentVersion\Component Based Servicing> and deleted all keys I found that had references to it.

Once done, I could install the package just fine.

I hope this description is helpful in getting your system back to life should you hit this. From my research seeing this error means that the binaries actually present on the system are not in sync with what CBS has noted. This can be a sign of malware so you should run your favorite malware scanner to ensure that your system is "clean".

Reference Content (silghtly edited for readability):

To troubleshoot this issue, I suggest we first reset permission and reinstall Windows Update Agent 3.0.
Step 1: Reset permission
================
1. Please download the subinacl.msi file from the following link and save the installation patch onto the Desktop:
https://www.microsoft.com/downloads/details.aspx?FamilyID=E8BA3E56-D8FE-4A91-93CF-ED6985E3927B&displaylang=en
2. Please go to the Desktop and double click the downloaded file.
3. Please select the C:\Windows\System32 folder as the Destination Folder during the installation. Later we will use this tool to reset the permission settings on the current machine.
Note: If UAC (User Account Control) window is prompted for permission to continue, please click Continue.
4. Click the Start Button, in the Start Search bar, type: "notepad" (without quotes) and press Enter.
5. Copy the following commands and then paste them into the opened Notepad window:
@echo off
subinacl /subkeyreg HKEY_LOCAL_MACHINE /grant=administrators=f
subinacl /subkeyreg HKEY_CURRENT_USER /grant=administrators=f
subinacl /subkeyreg HKEY_CLASSES_ROOT /grant=administrators=f
subinacl /subdirectories %SystemDrive% /grant=administrators=f
subinacl /subkeyreg HKEY_LOCAL_MACHINE /grant=system=f
subinacl /subkeyreg HKEY_CURRENT_USER /grant=system=f
subinacl /subkeyreg HKEY_CLASSES_ROOT /grant=system=f
subinacl /subdirectories %SystemDrive% /grant=system=f
@Echo =========================
@Echo Finished.
@Echo =========================
@pause
6. After pasting the above commands, please close the Notepad window. Choose Save when you are prompted to save the file. Type "reset.bat" as the file name and choose Desktop from the left panel as the save location.
7. Refer to the Desktop and right click the reset.bat file, then choose "Run as administrator."
8. You will see a DOS-like window processing.
NOTE: It may take several minutes, please be patient. When it is finished, you will be prompted with the message: "Finished, press any key to continue".
Step 2: Reinstall Windows Update Agent 3.0
===========================
1. Please download the file from the following link:
Windows Vista (32bit)
https://download.windowsupdate.com/v7/windowsupdate/redist/standalone/WindowsUpdateAgent30-x86.exe
Windows Vista (64bit)
https://download.windowsupdate.com/v7/windowsupdate/redist/standalone/WindowsUpdateAgent30-x64.exe
2. Save the file to D: drive.
Note: Please select a drive where Windows Vista was not loaded because the file cannot be launched directly from the system root directory.
3. Click Start->Run, type: "D:\WindowsUpdateAgent30-x86.exe /wuforce" (without quotations) and then press Enter to install the Windows Update
engine.
Note: There is a space between "D:\WindowsUpdateAgent30-x86.exe" and "/wuforce"
Now, let's run Windows Update again.

Comments