At the beginning of January, Microsoft issued a security fix for Visual Studio 2005 forcing the use of news dynamic libraries (DLLs) by all application compiled with this IDE. Basically, the application compiled with Visual Studio 2005 will not work anymore on ordinary (non dev) PC unless the newer DLL are to be installed. And we found out that happened on fully updated PCs. I posted a detailed article here: http://www.ives.fr/index.php/blog/post/19 for those needing more technical details.
For those who are not familiar with the Microsoft world, native microsoft applications written in C++ rely on dynamic libraries. Two of them are famous or infamous: MSVCRT.DLL and MFCxx.dll. Because of the evolution and other security fix, multiple version of these DLL were often present in the system causing application instability. Where Linux resorted to some simple suffix notation on the dynamic libraries, Microsoft created a new beast in 2001: the Side By Side assemblies http://articles.techrepublic.com.com/5100-10878_11-5032712.html. These are basically DLLs with a comanion XML files that identify them. The XML file contains a digital signature and when the system binds these DLL dynamically to an application, it checks the match and check that the signature of the DLL matches the DLL itself.
When everythings runs well, this is pretty transparent. But when issues arises, it becomes excruciatingly difficult to troubleshoot and fix. DLL hell is not over.