How To Fix Windows Update

From CastleCopsWiki

Jump to: navigation, search
Caution The article below is currently in beta and has not been reviewed for factual errors.

[edit] BITS/AU FIX

Note: This fix applies ONLY for Windows XP SP2. Applying it to earlier versions of XP, Windows 2000, or Windows NT could irreparably mess up your registry!

BEFORE you do the Steps below, you have to add these sites to your Trusted Sites in I.E. -or- you can turn off your Windows Firewall (or configure any other firewall you may have). Tools -> Internet Options -> Security -> Trusted Sites -> Sites -> Add this Web site to the zone:

http://*.windowsupdate.microsoft.com (Add)
http://download.windowsupdate.com (Add)
http://update.microsoft.com/ (Add)
https://*.windowsupdate.microsoft.com (Add)
https://windowsupdate.microsoft.com (Add)

Don't click the box which reads:

"Require server verification (https:) for all sites in this zone"

Then click OK and OK again.
Then proceed with the steps below...


Step 1: Restart the BITS and AU services
1. Click Start, and then click Control Panel.
2. Click switch to a Classic View in left panel.
3. Double-click Administrative Tools.
4. Double-Click Services. (or go to Run and type in services.msc )
5. Double-click the service "Background Intelligent Transfer Service".
6. Click the Log On tab, ensure the option "Local System account" is selected and the option "Allow service to interact with desktop" is unchecked.
7. Check if this service has been enabled on the listed Hardware Profile. If not, click the Enable button to enable it.
8. Click on the "General" tab and make sure the "Startup Type" is "Automatic" or "Manual".
9. Then click the "Start" button under "Service Status" to start the service.
10. Repeat the above steps with another service: "Automatic Updates"


After Step 1, go to the Windows Update website and check if the problem still exists. If there is still a problem, continue with Step 2.


Step 2: Register the related BITS key in the Registry

Download BITSservice.zip and unzip it to the desktop. You will get the BITSservice.reg files

***** BACK UP YOUR REGISTRY FIRST *****
{If you don't know how to back up your registry, you are advised to carefully read the Elder Geek Registry Back-Up Info}

Double click it and click OK to import the registry information to your system. (This adds more permissions to the users of your PC)

After Step 1 and Step 2, go to the Windows Update website and check if the problem still exists. If the problem persists, go on with Step 3.


Step 3: Register related dll files

This step will tell you if the update engines are working properly.

Before proceeding, Close all instances of Internet Explorer.

1. Click Start, click Run, type Regsvr32 qmgr.dll in the Open box, and then click OK.
2. Click OK.
3. Click Start, click Run, type Regsvr32 qmgrprxy.dll in the Open box, and then click OK.
4. Click OK.

Similarly, one by one, register the files listed below:

REGSVR32 ATL.DLL
REGSVR32 MSXML3.DLL
REGSVR32 WUAPI.DLL
REGSVR32 WUAUENG.DLL
REGSVR32 WUAUENG1.DLL
REGSVR32 WUPS2.DLL
REGSVR32 WUCLTUI.DLL
REGSVR32 WUPS.DLL
REGSVR32 WUWEB.DLL
REGSVR32 JSCRIPT.DLL

Note: Please try and register all the files. While registering each .DLL file you should get a "succeeded" message.

5. Click Start, click Run, type cmd and press Enter.
6. In the Command Prompt window, input the following commands. Press Enter after each command:

net stop bits

[Enter]

(If you receive any error message here, such as:

The BITS service is not started
NET HELPMSG 3521

just ignore it)


rd /q /s %ALLUSERSPROFILE%\Application Data\Microsoft\Network\Downloader

(all on one line, of course)
[Enter]

(If you receive any error messages here, such as:

The system cannot find the file specified
The system cannot find the file specified
The system cannot find the file specified
The system cannot find the file specified
The system cannot find the file specified

just ignore them)


[or do - in lieu of previous rd step]:

a. Change to the download directory --

cd %ALLUSERSPROFILE%\Application Data\Microsoft\Network\Downloader

[Enter] (This will probably be:

C:\Documents and Settings\All Users\Application Data\Microsoft\Network\Downloader

for those people more comfortable using Explorer)

b. List all Files in this Folder --

dir

[Enter]

c. Delete all Files in this Folder --

del *.*

[Enter]

d. OR you can just Delete the Folder --

rd 

{which does the same thing as Steps b.) and c.)} [Enter]
MAKE SURE you're in the Folder specified in Step a.) or you will Delete the wrong Folder/Files. (If you're NOT comfortable with DOS, then use Explorer)

e. You MAY ALSO have to do the above with:

%WINDIR%\SoftwareDistribution\Download

(Which is: C:\Windows\SoftwareDistribution\Download for those people more comfortable using Explorer)

and:

%WINDIR%\SoftwareDistribution\DataStore

(Which is: C:\Windows\SoftwareDistribution\DataStore for those people more comfortable using Explorer)

f. Also (in Windows Explorer),go to:
C:\Windows\inf
Scroll down and find the branches.inf File
Right click it and click Properties and make sure the Read Only Attribute box is NOT checked.



net start bits

[Enter]

(If you receive any error message here, such as:

The BITS service is starting
BITS could not be started
A Service Specific Error occurred: 2147942405 (which is the decimal equiv. for 0x80070005)
NET HELPMSG 3547

just ignore it)

exit

[Enter]

After Step 1, Step 2 and Step 3, go to the Windows Update website and check if the problem still exists.
If there is still a problem, continue with Step 4


Step 4: Add permissions to access related folders and registry keys


***** BACK UP YOUR REGISTRY FIRST *****
{If you don't know how to back up your registry, you are advised to carefully read the Elder Geek Registry Back-Up Info}

1. Click Start and click Run.

2. In the Open box, type REGEDIT, and then click OK.

3. In the left panel, you can find the root key "HKEY_CLASSES_ROOT".

4. Right-click HKEY_CLASSES_ROOT and click Permissions.

5. Select Everyone in the "Group or user names" list.


You may not have a Group or User Name called "Everyone" and have something like the below:

ADMINISTRATORS [Allow - Full Control/Read]
CREATOR OWNER [Allow - Special Permissions]
POWER USERS [Allow - Read/Special Permissions]
SYSTEM [Allow - Full Control/Read]
USERS [Allow - Read]

If you don't have a Group or User Name called "Everyone":
Click Add, type Everyone in the open text box and click Check Names, then click OK.

(now do Step #5 again -- Select Everyone in the "Group or user names" list.)

6. Under Permissions for Everyone, click to select the "Full Control" check box in the Allow column.

7. Select each user, in turn, in the Group or user names list, and then verify that no check boxes are selected in the Deny column. Clear any check boxes that are selected in the Deny column.

8. Click the Advanced button, click the "Replace permission entries on all child objects" check box and then click OK.

You might have:
The "Inherit from parent the permission entries that apply to child objects. Include these with entries explicitly defined here." box was unchecked.


The "Replace permission entries on all child objects with entries shown here that apply to child objects." box was also unchecked.
(I checked the "Replace permission entries..." box and clicked Apply.)

9. Click Yes if you are prompted for confirmation, and then click OK to close the dialog box.

Note: You MAY receive the following message. It is normal, because the permission of some registry keys cannot be reset: <blockquote."Error: The Registry Editor could not set security in the key currently selected, or some of its subkeys."</blockquote>
(If you receive this message, click OK).

10. Locate HKEY_LOCAL_MACHINE and perform the above steps again. (This will also take you several minutes and you MAY receive an error message at this step. Click OK to continue)

You may have something like the below in the "Group or user names" box:
ADMINISTRATORS [Allow - Full Control/Read]
EVERYONE [Allow - Read]
RESTRICTED [Allow - Read]
SYSTEM [Allow - Full Control/Read]


You may have:

The "Inherit from parent the permission entries that apply to child objects. Include these with entries explicitly defined here." box was already checked.
The "Replace permission entries on all child objects with entries shown here that apply to child objects." box was unchecked.

(I checked the "Replace permission entries..." box and clicked Apply.)


Step 5: In case you get Error 0x8007043b


***** BACK UP YOUR REGISTRY FIRST *****
{If you don't know how to back up your registry, you are advised to carefully read the Elder Geek Registry Back-Up Info}

1. Click Start and click Run.
2. In the Open box, type REGEDIT, and then click OK.
3. Navigate to the following key:
HKEY_Local_Machine\Software\Microsoft\WindowsNT\CurrentVersion\SvcHost
(.... but do not expand the SvcHost key in the left panel).
4. In the right panel, double-click the netsvcs key, which will open a pop up box, entitled, "Edit Multistring".
5. Under the "Value data:" box will be a list of services. Add BITS and wuauserv (on separate lines) to the list of services (if they are not listed already).
6. Click OK
7. Exit the registry
8. Re-boot the system (mandatory or the changes won't go into effect).


Step 6: In case you get Error 0x80246008


***** BACK UP YOUR REGISTRY FIRST *****
{If you don't know how to back up your registry, you are advised to carefully read the Elder Geek Registry Back-Up Info}

1. 0x80246008 is the error you get when Automatic Update fails. When you try to Start it Manually, you get a 2147024894 error.
2. Instead of me rewriting another very long set of instructions, first check out PC Review
3. Read his problem and then that will lead you to Re-installing the BITS Service on Windows XP SP2 When It Has Been Corrupted
4. Follow those instructions as posted.
5. You'll notice that there are many references given at the bottom of that post in Step 3, one of which happens to be this thread!!
6. Read the other links at the bottom of that post too. They also contain some very good information. If you follow all the links to their respective 'end of the roads', so to speak, you will see that a LOT of problems are caused by interactions with Symantec products (i.e. upgrading, installation, uninstalls, etc.).

It figures - once you have a Symantec product, you're stuck. You can't back out, you can't upgrade, you can't install new and their Customer (Dis)Service costs a bundle, never mind that even if you DO pay, more often than not, they can't help you anyway. Eventually, you can work your way out of it, but I've seen people go for up to a year before they finally straighten it all out. How's THAT for a Norton recommendation?!!
7. There are other helpful hints on the other pages in this thread, so it is recommended reading through all those too. Everybody's PC setup is unique and the problems with BITS are almost endless, but a LOT of people have written with success stories and additions and suggestions.


[In case you need the below to send to the M.S. Tech. Rep.]:

Windows Update Log
1. Click on Start -> Run
2. Type: "WindowsUpdate.log" (with double quotes) and Click OK
3. Click File -> Save As and save the file into a specified folder.

Event Logs
1. Click on Start -> Run
2. Type: "eventvwr" (without the quotation marks) and Click OK.
3. Right click Application Log and choose Save Log file As... >> Save the log file as app.evt.
4. Right click System Log and choose Save Log file As... >> Save the log file as sys.evt.

System Information File
1. Click on Start -> Run
2. Type: msinfo32 and click OK.
3. Click File -> Save and save the file into a specified folder.

If all the above it just TOO MUCH......(congrats to everyone that contributed to this article)

You can Google for the program "Dial-a-fix" and use the "Fix Windows Installer" part. I believe it does the same as all the above.

Personal tools