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).

Advertisements

Leave a Reply

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 )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s