Short version - there's a bug in proxycfg, where it will output "Direct
access - no proxy server" but in actuality a proxy server is used by windows
update. The way around it is to run "proxycfg -d" even if it already says no
proxy server is in use.
Long version - my automatic updates and manual updates stopped working after
installing XP SP2. I have a DSL router/firewall so had no need to change any
software firewall rules. I followed all the suggestions in this group and in
the KB articles, including adding trusted sites to IE, checking the hosts
file, etc ad infinitum. None of that helped.
Today I decided to debug it myself, using ethereal, active ports, and
regedit. I saw that as soon as I clicked on "install updates" that the
system was trying to access an OLD proxy that had been configured in IE
several years ago (for use with a VPN) and was now disabled. It was grayed
out in the IE settings menu. Even after I enabled the proxy, put a bogus
proxy name in, then disabled it again, the system was still using the old
address. A search for the string in regedit and in all files on the system
found no matches.
Using proxycfg told me that there was no proxy active. However, thankfully
proxycfg also tells you where it is looking in the registry. I went there
with regedit and found that the setting is a binary value (thus search
wouldn't find the proxy server name as a string). Mine had mostly zeros in
the first 20 bytes or so, but then the old proxy server name was in there at
the end! I ran "proxycfg -d" and then rechecked the registry, and only the
"18" and then mostly zeros was there. I reran Windows Update and it worked!
Moral of the story: don't trust proxycfg to tell you the truth! Run
"proxycfg -d" to make sure you don't have a proxy if you didn't intend to.
Greg
|