kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

Windows 7 SP1で以前のADOのIIDsを使って生成するためのパッチ

以前の日記でKB2517589では何故下位互換がなくなると説明しているか - 新日々此何有哉という話を書いた話の続き。Windows 7 SP1ではADOのIIDsが変更になったので、保守の都合上、ADOアプリケーションを生成するためにはWindows 7 SP1以前のOSを使う必要がありました。なぜんらばWindows 7 SP1を使うとIIDsが変更になってしまい、アーリーバインディングしたアプリケーションは以前のOSで動かないのです。
しかし、古いOSはいずれサポート切れがきます。今では仮想環境もあるとはいえ、ハードウェアの都合や運用の都合もあるでしょう。そのようなときのために、やはり新しいOSでふるいIIDsを使って生成できるようにしておきたいものということかどうかは知りませんが、Windows 7 SP1向けにADOのIIDsを以前のOSと同じGUIDにしたパッチが提供されることになりました。それがこのKB2640696だそうです。
An ADO-based application that is compiled in Windows 7 SP1 or in Windows Server 2008 R2 SP1 does not run in earlier versions of Windows
このパッチをインストールすると、Microsot ActiveX Data Objects 6.1 Libraryが表示されるので、プロジェクトの参照設定に追加すればいいそうです。C++アプリケーションの場合、

#import msado15.dll

となっているところを以下のように変えろということだそうです。

#import msado60.tlb