Adventures in tech support …
This will be of very little interest to people who aren't experiencing this particular error, or something similar, so feel free to skip this post.
However, I found so little information on-line in trying to solve this little mystery that I thought I would go through how I managed to fix it in the hopes of helping the next poor sod.
It all started when I was doing a bit of maintenance on my aunt's PC. She'd been getting a few error messages every time she started up and it needed to have some software updates installed. Going through my usual checks I noticed that no Microsoft patches had been installed for months. I checked that automatic updates were turned on – they were – and then tried to run Windows Update manually. I gave me the list of important and optional updates to install, but when it went to download the patches there was an error message about BITS – Background Intelligent Transfer Service. BITS is what allows you to continue surfing while updates are downloaded in the background.
Now there was a very handy link with the error message that took you into Windows help, which gave you instructions for how to get the BITS service started. However, when I tried to start BITS I got another error message stating that the service could not be started because another service BITS was dependant on could not be started. (I've forgotten the exact wording :doh: )
So by going into the properties of the BITS service I eventually tracked down the problem to the COM+ service. But when I tried to start this service I got the error message in the title. I spent hours searching on the internet for any information, but I couldn't find anything useful.
In the hopes that one of the Windows updates might solve the problem I decided to try downloading the updates from the Microsoft website and installing them manually. But when I tired that I kept getting error messages that the updates were not valid Win 32 applications. And a bit more searching seemed to indicate that this was a problem with the COM+ service too. 🙄
Eventually I stumbled across a program called the Windows Update Standalone Installer. I thought this might let me get around the problems I was having with COM+ and Windows Update. Unfortunately I couldn't see anywhere to download this program. It turns out that it is included in Windows – wusa.exe . So I went looking for this file on my aunt's PC.
I found it, but when I did I noticed that it's size was 0 bytes. 💡 That's not right, could a corrupted file or files be causing the problem?
BTW, I'd already fixed another unrelated error that was being caused by a 0 sized file. Which was how I came to my conclusion. :sherlock:
So I searched the hard disk for files with a size of 0 bytes. There were quite a few, but I determined that the ones I was interested in were all located in the System32 folder. Here's the list:
What do you know, es.dll is a file for the COM+ service.
So I was halfway there I had found the problem, now I just needed to fix it. I went to my own laptop running Vista, located the files I needed, and copied them to a USB stick. But I knew from the other file that they couldn't be copied onto my aunt's computer from within windows. Even in Safe Mode I wasn't allowed permission. To get around this I used an Unbuntu Live CD to boot up the computer and bypass Windows' file permissions.
An important aside: I didn't just overwrite the "corrupted" files with the copies from my laptop. I renamed them with a .bad extension. So es.dll became es.dll.bad, for example. There were two reasons for this.
- If the files were corrupt because of a disk problem I wanted the new files copied to a different block.
- I wanted a backup of the original files in case I needed to undo my changes
Once the files were copied across, I rebooted back into Windows and tried running Windows Update again. Success! The updates – 150MB of them 🙄 – were downloaded and installed without a hitch.
So that's the story, hopefully somone will find it useful.
NOW FOR THE DISCLAIMER:
I don't work for Microsoft, I make now claims at being an expert. What I do I like to describe as "advanced fiddling with things until I get them to work". So this may work for you, it may not, it might even make things worse. If it does don't come crying to me. I didn't force you to try this.
If you find anything in the post above confusing or you are not comfortable with doing something that might cause your computer to stop working then LEAVE IT ALONE. Go to whoever you rely on for technical support and ask them to fix it. You could mention this article, they'll likely appreciate it.
I now return you to my irregularly scheduled blog.
EDIT / UPDATE:
Of course, now that I have the computer gone back to my aunt I found this article which talks about two tools that could have been very useful.
Windows Dependency Walker which will track down all the dependencies for a service and report any problems. And the System File Checker which can scan for and repair problems with Windows systems files.
Before you try these see my above disclaimer.