Showing posts with label automatic updates. Show all posts
Showing posts with label automatic updates. Show all posts

Sunday, February 2, 2014

Cannot Install Windows Updates

My Windows 7 install inexplicably began to have issues with installing updates.

Service pack 1 installed fine using an installer, but other incremental updates consistently failed, they would download but they'd be skipped by Windows Update and reported as having not been installed.

One fix involved deleting a folder and letting the update process recreate it, specifically this one:

This folder contains part of an internal Windows database which it uses to track updates, and a log file, dberr.txt, which was rife with error messages like these:

CatalogDB: 6:27:32 PM 2/1/2014: catdbsvc.cpp at line #3454 encountered error 0x8007000e
CatalogDB: 6:27:32 PM 2/1/2014: catadnew.cpp at line #1915 encountered error 0x8007000e
CatalogDB: 2:16:29 PM 2/2/2014: catdbsvc.cpp at line #969 encountered error 0x8007000e

Interestingly, the error 0x8007000e was frequently returned as a response in the failed attempts to update.

Based on this seemingly corrupted database folder, I decided to try deleting it and then have Windows recreate it by taking the following steps, and now updates are again able to be installed.
  1. Open a command prompt with administrator access.
  2. Stop the Cryptographic Services, which normally has a lock on the above mentioned folder, by typing this: NET STOP cryptosvc
  3. Rename (or, if you're brave, delete) the C:\WINDOWS\SYSTEM32\catroot2 folder.
  4. Start the Cryptographic Services by typing: NET START cryptosvc
  5. Run Windows Update, and then have it download and install one or more updates to verify that it does so successfully.

After doing this I was able to download and install the latest updates successfully.

Thursday, February 11, 2010

Automatic Updates Strikes Again!

Visual Studio 2008, greeted me with this message:

Cannot find one or more components. Please reinstall application.

I awoke this morning to discover that Automatic Updates had happily updated and rebooted my laptop. Fine, whatever. I'd saved my important stuff before turning in last night, so no big deal, just annoying... except for the part where it seemingly destroyed my completely legal and presumably up-to-date install of VS 2008.

Fortunately after some digging I found a solution here, which basically involves recovering at least one DLL (in my case, ATL90.DLL) and copying it to a folder with a name similar to "C:\WINDOWS\WinSXS\x86_Microsoft.VC90.ATL_1......"

The actual destination folder appears to include a build number, so maybe whoever at Microsoft released this latest update to the masses simply forgot to include this essential little file in the update?

I found some of the other missing DLL names amusing. IESHIMS.DLL, for example, includes the word "shim", which in engineering parlance is "...a thin and often tapered or wedged piece of material, used to fill small gaps or spaces between objects," but in computing is "...a small library that transparently intercepts an API, changing the parameters passed, handling the operation itself, or redirecting the operation elsewhere." WER.DLL contains wer, which is in German a pronoun for "who".

Speculation abounds. Who will we pick from our resource pool to fix this, someone who knows their shit, or a convenient intern instead? I wonder if our team lead would like a shim shoved where the sun don't shine to facilitate following some semblance of best practices?

This cries out as a leftover hunk of code that maybe someone at Microsoft slapped together years ago and put it on their little Post-It™ of a todo list to tidy up, which happened to be close to the shredder, which also happened to be in an office with a ceiling fan set on ludicrous speed or a cat with an affinity for ink and paper.

Or, maybe the original developer given the task to do this was killed in a fatal car crash, never to replace the shim with something more... elegant.

Now I'm asking Microsoft the question, who shimmed on my work, and how may I smite them?

3/8/2010 - UPDATE

A user in the forum thread I mention above was able to reinstall the following Microsoft security update and successfully dig themselves out of the pit of despair this error caused:

Microsoft Visual C++ 2008 Service Pack 1 Redistributable Package ATL Security Update