Windows TIPS
[Install & Setup]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

MDACを新バージョンにアップグレードする方法

解説をスキップして操作方法を読む

デジタルアドバンテージ 島田 広道
2007/08/03
 
対象OS
Windows 2000
Windows XP
Windows Server 2003
データベースをアクセスするソフトウェアは、インストールの要件としてMDACのバージョンを指定していることがある。
アップグレード可能なMDACのバージョンやその方法は、Windows OSおよびそのService Packによって異なる。
MDACを単独でアップグレードする場合、Windows Updateなどは利用できず、手動でインストールする必要がある。
 
解説

 MDAC(Microsoft Data Access Components)は、Windowsアプリケーションからデータベースにアクセスするために用意された、汎用的で標準的なインターフェイスの総称である。MDACに含まれるODBC(Open Database Connectivity)やADO(ActiveX Data Object)、OLE DBといったインターフェイスを利用することで、アプリケーションはデータベースの種類やアクセスするテクノロジに依存することなく、汎用的な手順でデータベースにアクセスすることができる。

 MDACの歴史は古く、Windows NTの時代からからバージョンアップが重ねられ、その機能は次々と拡張されてきた。Ver. 2.0以降に限っても、Ver. 2.0/2.1/2.5/2.6/2.7/2.8と多くのバージョンが存在する(実際には各バージョンに複数のService Packが提供されたため、MDACの実質的なバリエーションはさらに多い)。

 こうした背景から、MDACを利用するアプリケーションによっては特定バージョンのMDACの機能に依存していて、インストールの要件にMDACのバージョンが指定されていることがしばしばある。例えば、アプリケーションではないが.NET Framework 2.0ランタイムの場合、Windows Serverに対してインストールする際、あらかじめMDAC 2.8以降にアップグレードしておくことが推奨されている。

 こうしたアプリケーションでMDACのバージョンの要件を守らないと、場合によってはアプリケーションが正常稼働しない可能性もある。やはり事前に現在のMDACのバージョンを調べて、必要であれば要件を満たすバージョンのMDACにアップグレードすべきだろう。しかしMDACのアップグレード方法はWindows OSごとに異なるほか、Windows Updateなどのツールが使えない場合もあるなど単純ではない。本稿では、Windows 2000/Windows XP/Windows Server 2003を対象に、最適なMDACのアップグレードの方法を説明しよう。

操作方法

アップグレード可能なMDACのバージョンを確認する

TIPS:MDACのバージョンを調べる

 まずは現在のMDACのバージョンを調べよう。その方法については関連記事が詳しいので参照していただきたい。現在のバージョンが判明したら、それとWindows OSの種類を下表で照らし合わせて、どのバージョンに更新できるのかを確認する。

MDACのバージョン MDACのService Pack Windows 2000 Windows XP Windows Server 2003
MDAC 2.5    SP未適用 初期バージョン(サポート対象外) N/A N/A
SP1 Windows 2000 SP1に同梱(サポート対象外) N/A N/A
SP2 Windows 2000 SP2に同梱(サポート対象外) N/A N/A
SP3 Windows 2000 SP3/SP4に同梱 N/A N/A
MDAC 2.6   SP未適用 単独でインストール可能(サポート対象外) N/A N/A
SP1 単独でインストール可能(サポート対象外) N/A N/A
SP2 単独でインストール可能(サポート対象外) N/A N/A
MDAC 2.7  SP未適用 単独でインストール可能(サポート対象外) 初期バージョン(サポート対象外) N/A
SP1 単独でインストール可能 Windows XP SP1/SP1aに同梱(サポート対象外) N/A
MDAC 2.8   SP未適用 単独でインストール可能 単独でインストール可能(サポート対象外) 初期バージョン(サポート対象外)
SP1 単独でインストール可能 Windows XP SP2に同梱 N/A
SP2 N/A N/A Windows Server 2003 SP1/SP2に同梱
MDACのバージョンとWindows OSとの関係(2007年8月上旬時点)
インストール可能なMDACは、各Windows OSによって大きく異なる。この中から、アプリケーションの要件やサポートの有無に応じて、最適なMDACのバージョンを選択する必要がある。
 「単独でインストール可能」: MDACだけを単独でインストール(アップグレード)できる。
 「Windows ?? SP?に同梱」: Windows OSのService PackにそのバージョンのMDACが含まれていて、そのService Packと一緒にアップグレードするよりほかない。
 「初期バージョン」: そのWindows OSの初期状態でインストールされている。
 「N/A」: 該当するMDACのバージョンは存在しない。

 「(サポート対象外)」:マイクロソフトのサポート・ライフサイクルによって、すでにサポート対象から外れている。上位バージョンのMDACにアップグレードすることが望ましい。

 この表で、現在のバージョンより上位のバージョンのMDACのうち、「単独でインストール可能」あるいは「Windows ?? SP?に同梱」であるバージョンが選択候補となる。その中から、アプリケーションの要件にあるMDACのバージョンを見つければよい。

サポート対象外のMDACにはセキュリティ・パッチが提供されない

 見つかったMDACのバージョンがサポート対象内であれば、単にそれをインストールすればよい。厄介なのは、そのバージョンがすでにサポート対象外で、かつその上位バージョンが要件に含まれていない場合である。例えば、あるアプリケーションにMDAC 2.7が必要で、かつMDAC 2.8では動作が確認されていない場合、サポート対象外であることを承知でMDAC 2.7をインストールするか、そのアプリケーションの開発元にMDAC 2.8での動作確認・保証を求めるか、選択を迫られることになる。

 前者しか選択できない場合、セキュリティ・パッチが提供されない脆弱な状況を強いられるため、セキュリティ・リスクを下げるための回避策を講じる必要がある。以下に記したMDACのセキュリティ・パッチの情報ページには、回避策なども記されているので参照していただきたい。

Windows XP/Windows Server 2003ではService Packの更新が必要

 さて前述の表を見ると、MDACのアップグレードにはOS用Service Packの更新が強いられる場合と、MDAC単独でアップグレードできる場合があることが分かる。

 Windows XP/Windows Server 2003では、ほぼ前者の選択肢しかない。具体的には、サポート対象のOS用Service Pack(2007年8月上旬時点でWindows XPではService Pack 2以降、Windows Server 2003ではService Pack 1以降)に更新すると、自動的にMDACも最新バージョンに更新される。OSのService Packを据え置いたままMDACだけをアップグレードすることはできない(Windows XP SP1/SP1aではMDACのみVer. 2.8にアップグレードできるが、すでにサポート対象外)。

Windows 2000ではMDAC単独でアップグレードする

 Windows 2000の場合、MDAC 2.5系列内のアップグレードにはOSのService Packの更新が必要だが、MDAC 2.6以降は単独でアップグレードできる。以下では、今後アップグレードの対象になる、後者のケースについて説明する。

 MDACを単独でアップグレード(インストール)する場合、Windows Update/Microsoft Update/WSUS/自動更新は利用できない。これらのツールではMDACそのものは配信されていないためだ。そのため、ダウンロード・センターからMDACのインストール・パッケージを入手し、手動でインストールする必要がある。以下、2007年8月上旬時点でサポート対象のMDACのインストール・パッケージ用ダウンロード・ページを記す。

 このうちMDAC 2.7 SP1については、インストールの前にMDACを使用するアプリケーションやサービスなどをすべて終了しておくこと。なぜならMDAC 2.7系列には、更新対象のMDAC関連ファイル(.DLLファイルや.EXEファイルなど)が稼働中のプログラムによって使用されたままだと、dllcacheにあるそのファイルがインストーラによって更新されずに古いまま残ってしまうからだ。この状態を回復するには、上位バージョンのMDACに更新するしかなく、やり直しが効かない。十分な注意が必要だ。

 MDACを手動でインストールするには、Windowsに管理者権限でログオンしてから、上記のページでダウンロードしたインストール・パッケージMDAC_TYP.EXEを実行する。以下のようにMDACのインストール・ウィザードが起動されるので、画面の指示に従ってウィザードを進めて完了させればよい。

MDACのインストール・ウィザード
ウィザードで指定すべきことは特になく、画面の指示に従ってウィザードを進めれば、インストール(アップグレード)は完了する。

 ウィザードを操作することなくインストールを自動実行するには、以下のコマンドラインでMDAC_TYP.EXEを実行すればよい。

 MDAC_TYPE.EXE /q:a /c:"dasetup.exe /q /n"

 最後の/nオプションを外すと、再起動も自動的に実行される。

 なお、インストールの最後にシステムの再起動が要求されたら、再起動だけではなく管理者権限での再ログオンも実行すること。再ログオン時にMDACのコンポーネントの登録などの処理が実行されるためである。End of Article

  関連リンク
  MDAC セットアップのトラブルシューティング ガイド(サポート技術情報 232060)
  Frequently asked questions about the installation of Microsoft Data Access Components (MDAC) (サポート技術情報 232060)
  MDAC 2.7 SP1 Refresh(ダウンロード・センター)
  MDAC 2.8 RTM(ダウンロード・センター)
  MDAC 2.8 SP1(ダウンロード・センター)
  [MS02-040]MDAC 機能の未チェックのバッファにより、システムが侵害される(TechNetセキュリティ情報)
  [MS03-033]MDAC 機能の未チェックのバッファにより、システムが侵害される(TechNetセキュリティ情報)
  [MS04-003]MDAC 機能のバッファ オーバーランにより、コードが実行される(TechNetセキュリティ情報)
  [MS06-014]Microsoft Data Access Components (MDAC) の機能の脆弱性により、コードが実行される可能性がある(TechNetセキュリティ情報)
  [MS07-009]Microsoft Data Access Components の脆弱性により、リモートでコードが実行される(TechNetセキュリティ情報)
     
この記事と関連性の高い別の記事

このリストは、デジタルアドバンテージが開発した自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。

generated byJigsaw
「Windows TIPS」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間