Anyone remember what “binary compatibility” means in COM/VB6?

And if you do, do you remember what a *#!@%$ that was? If you don’t: here is some reference material: http://support.microsoft.com/kb/161137

VB6 Project Properties Dialog, Component Tab

So, I got hit with this again… and yes, I really wrote this post in 2012!

Microsoft released a number of security updates in July 2012, one of which addresses a vulnerability in the Data Access Components. Now, I don’t know the details of the problem, but apparently while fixing it, some class is no longer “binary compatible” with the older version. That creates a major problem for applications developed with VB6 and Access, one of which I still happen to maintain after 12 years in development. Just another reminder of the goodness that’s .NET!

I can only hope that the compatibility was broken for a good reason and not just by accident. I imagine there aren’t as many Microsoft COM gurus around as there used to be either.

Here is the security bulletin for the update that caused the issue: Microsoft Security Bulletin MS12-045: Vulnerability in Microsoft Data Access Components Could Allow Remote Code Execution (2698365).

Let me know what you think, or ask a question...

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.