特集
VB6アプリのWindows Vista対応(前編)

VB6アプリをVistaで動かすための基礎知識

codeseek 衣川 朋宏
2008/01/08
Page1 Page2


VB研公開ゼミ議事録:Windows VistaでVB6アプリケーションは本当に使えるのか?

 Windows Vista(以下、Vista)がリリースされて1年近く経過し、企業内にもVistaが導入される事例も増えてきた。その一方では、Visual Basic 6.0で作成されたクライアント・アプリケーション(以下、VB6アプリ)がまだまだ現役で使用されている。

 VistaはVB6の動作環境を提供するというが、それは既存のVB6アプリが従来どおりに動作するということを必ずしも意味しているわけではない。実際、そのままでは動作しないVB6アプリも少なくないようである。そこで本特集(前・後編)では、VB6アプリをVista上で動作させるためのポイントをいくつかご紹介する。

 前編では、サポート期限の問題とインストール時に発生する問題に対処する方法を紹介。後編では、Vista対応のためのVB6アプリの修正方法と運用時の注意点、VB6の今後などについて説明する。

1. VB6のサポート期限の問題

VB6 IDEのサポート期限

 「Vista上ではVB6がサポートされるのかどうか」という問題の前に、まずVB6のIDE(統合開発環境)自体のサポート期限の問題がある。

 以前よりアナウンスされているとおり、VB6 IDEの「延長サポート」*1フェイズは2008年4月8日で終了するのだ(これについては「マイクロソフト プロダクト サポート ライフサイクル」に書かれている)。

VB6(IDE)のサポート・ライフサイクル
2005年3月31日にVB6 IDEのメインストリーム・サポートは終了しているが、2008年4月8日で、つまり間もなく延長サポートも終了する。

*1 「延長サポート」は、最初の「メインストリーム・サポート」に続くサポートのフェイズ。詳しくは、「マイクロソフト プロダクト サポート ライフサイクル」をご一読いただきたい。

 VB6 IDEのサポート期限切れが意味することをまとめると、以下のとおりである。

  • VB6 IDEに対するパッチは、今後提供されない。
  • 各種有償サポートを受けることができない。

 しかし、間違えてはいけないのは、期限切れとなるのはあくまでIDE(統合開発環境)に対する「サポート」であるという点だ。「2008年4月8日以降、すべてのVB6アプリは動かなくなる」あるいは「VB6 IDEが使えなくなる」などという話ではないので、勘違いのないようにしたい。また、MSDNライブラリ上の(VB6関連の)各種リソースはそのまま存在するので、引き続き利用することが可能である。

 なお、VB6 IDEをVista上にインストールすることは可能である。

VB6ランタイム・ライブラリのサポート期限

 さて、ご存じのとおり、VB6アプリが動作するためには数々のランタイム・ライブラリ(MSVB6VM.dllなど)が必要である。これらはVista上ではサポートされるのか?

 基本的にはサポートされる。「MSDN:Windows Vista における Visual Basic 6.0 のサポートについて」において、Vista上でもVB6がサポートされる旨が記述されている。これを図にすると、以下のようになる。

VB6ランタイムのサポート・ライフサイクル
VB6ランタイムはWindows Vistaのサポート期間が適用される。Windows Vistaのサポート期間は、メインストリーム・サポートが2012年4月10日まで、延長サポートが2017年4月11日までとなっている。

 そして、そのMSDNのページの下の方には、Vistaに同梱されるVB6ランタイム・ライブラリの一覧表が記載されている。つまり、主要なランタイム・ライブラリはすでに(Vista上に)インストール済みであり、それらはVistaのサポート終了までサポートされ続けるというわけだ。

 では、すべてのランタイム・ライブラリがVista上でサポートされるかというと、残念ながらそうでもないのである。先ほどのMSDNのページの英語版である「MSDN:Support Statement for Visual Basic 6.0 on Windows Vista」をご覧いただくと、下の方にランタイム・ライブラリの一覧が表示される。この一覧の内容には注意が必要だ。

「Support Statement for Visual Basic 6.0 on Windows Vista」のページ
「Supported and Shipping in Windows Vista」と「Tested and Not Shipping In Windows Vista」の一覧が掲載されている。

「Vista上にインストール済みで、サポートされる」ランタイム・ライブラリ

 まず、「Supported and Shipping in Windows Vista」という一覧があるが、これは「Vista上にインストール済みで、サポートされる」ランタイム・ライブラリの一覧である。これらはVistaのサポート・ライフサイクルに従って(つまり、最長で2017年4月11日まで)サポートされる。

 さらに、これらの中には、Vistaに対応するために更新されたものも存在する。下の画面はVista上にインストール済みのmsvbvm60.dllファイルのプロパティ画面である。ファイル・バージョン(や更新日時)にご注目いただきたい。

Vista上にインストール済みのmsvbvm60.dllファイルのプロパティ画面
[ファイル バージョン]は「6.0.97.97」となっている。

 これに対してXP上でのmsvbvm60.dllのプロパティは以下のとおりである。

XP上にインストールされたmsvbvm60.dllファイルのプロパティ画面
[ファイル バージョン]は「6.0.96.90」となっている。なお、このファイル・バージョンは、クライアントにインストールしているランタイム・ライブラリのサービス・パックなどによって異なるので注意してほしい。

 それぞれのファイル・バージョンが、XP用(6.0.96.90)とVista用(6.0.97.97)で異なることが分かる。ライブラリをアップデートして、Vistaに正式に対応しているわけだ。

「Vista上でテストされたが、インストールされない」ランタイム・ライブラリ

 問題となり得るのは「MSDN:Support Statement for Visual Basic 6.0 on Windows Vista」に掲載されている、「Tested and Not Shipping In Windows Vista」の一覧である。この一覧に記されたランタイム・ライブラリは「Vista上でテストされたものの、インストールはされない」。つまり、Vistaの一部ではないので、Vistaのサポート・ライフサイクルは適用されない。

 だからといって、その一覧のランタイム・ライブラリを使用したアプリケーションがまったく動かないのか? というと、そういう話ではない。動作確認はされているので、きちんと配布さえすれば、動作するのである。ただし、そのランタイム・ライブラリに対するサポートは行われないということだ。

 ちなみに、日本語を含む各国語のローカル・リソース(例えばvb6jp.dllなど)が「Tested and Not Shipping In Windows Vista」一覧に入っている。「Vistaでは英語しかサポートしない」という意味ではないと思われるが、これについての公式なアナウンスは本稿執筆時点ではなされていない。


 INDEX
  [特集]
  VB6アプリのWindows Vista対応(前編)
  VB6アプリをVistaで動かすための基礎知識
  1.VB6のサポート期限の問題
    2.VistaへのVB6アプリの導入
 
  VB6アプリのWindows Vista対応(後編)
  Vista上で動作するVB6アプリの作り方
    1.Vista上でのVB6アプリの運用・修正編(UAC関連)
    2.Vista上でのVB6アプリの運用・修正編(フォント関連)
    3.VB6の今後

@IT Special

- PR -

TechTargetジャパン

Insider.NET フォーラム 新着記事
  • Python 3の組み込み関数を速攻理解しよう: 後編 (2017/4/28)
     Python 3の組み込み関数のうち、オブジェクトやクラス、スコープ、コードの動的評価、ファイルや標準入出力を扱うものを取り上げる
  • 配列のコピーを1行でするには? (2017/4/26)
     配列をコピーするには、for/foreachループを使う方法もあるが、ArrayクラスのCopyメソッドを使うのが一番簡単で速度の面でも有利である
  • Microsoft Small Basic (2017/4/25)
     Microsoft Small Basicは学習を目的としてマイクロソフトが提供しているBASICの処理系。シンプルな言語仕様、習得が容易、簡潔な記述がその特徴
  • 第2回 Visual Studio 2017の基礎を知る (2017/4/21)
     開発環境Visual Studio 2017を使ったプログラミングに不可欠な知識とは? ソリューションの概念から画面構成まで基礎を説明
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

イベントカレンダー

PickUpイベント

- PR -

アクセスランキング

もっと見る

ホワイトペーパーTechTargetジャパン

注目のテーマ

業務アプリInsider 記事ランキング

本日 月間
ソリューションFLASH