特集
|
Page1
Page2
|
|
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の今後 | ||
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|
- - PR -