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

GHFBHMX20410479