リリースはおよそ10年前だが、企業の多くのIT部署にとってVisual Basic 6は依然として基礎である。実に多くのビジネスアプリケーションがあり、その多くはもはやソースコードなしで使用されているので、Windows VistaやServer 2008へのアップグレードパスを慎重に検討する必要がある。
多少なりともアップグレードを簡単にするために、MicrosoftはVB6アプリケーションの「It Just Works」ポリシーを約束している。この誓約のもと、ほとんどのVB 6アプリケーションはそのまま最新のオペレーティングシステム上で実行すべきである。アップデート済みのDLLは、OSにプリインストールする必要があ るか、もしくはデベロッパによって配布される必要がある。特定のDLLの配布モードは、以前のオペレーティングシステムの場合と同じである。完全なリストについて は、MSDNのチャート(source)を参考のこと。
Visual Basic 6 IDEは引き続き、32ビットバージョンのWindowsで「カスタムサポート」としてサポートされる予定である。Elise Peterson氏は、以下のように説明している。
VB6 IDEの拡張サポートは、すべてのIDE購入者に利用可能であった。カスタムサポートはPremier Supportカスタマーが利用できるプログラムで、Windows NT 4やVB6 IDEなどの既存製品の継続的なサポートが必要な顧客に対するサポートである。Windows VistaおよびWindows Server 2008の一部であるため、VB6ランタイムは主流のフルサポートである。 Windows VistaおよびWindows Server 2008がサポートされる限り、製品アプリケーションおよびコンポーネントは、サポートされる。
Paul Yuknewicz氏(source)に詳細を伺った。
comctl32.ocxやrichtx32.ocxといったVB 6プログラマーがよく使用したコンポーネントのコードベースをVBチームが引き継いだということですが。その決定がなされたもともとの経緯について、教えていただけますか?
Windows Vistaがリリースされた時、Windows VistaのVB 6アプリケーションに対するいわゆる「it just works」サポートを約束しました。しかしながら、多くの顧客がVB6 IDEの制御フォルダー(\CAB)で重要なコンポーネントは、実行アプリケーションの中心部分であると指摘し、1年後の2008年4月にVisual Basic 6 IDEのサポートが拡張されていなければ、サポートが受けられるかどうかは分かりませんでした。Vistaで実行中のVB 6アプリケーションのエクスペリエンスが、XPほどシームレスではない場合、それは「it just works」サポートではないんです。これらの重要ファイルの成果を明確にするため、そしてわれわれが実行アプリケーションを支援していることを確実にするためにこの決定がなされました。
これらのコンポーネントは、つねにVisual Basic 6の一部であるので、「これはするべきなのですか?」とかいう質問はまったくありませんでした。答える必要があった質問は、「これはどうすればよいのです か、とか2008年4月以前は、どのようにすればいいのですか?」といったものでした。
コンポーネントの元々の所有者と接触したとき、コードを保護していましたか、それとも手放してしまいたかったでしょうか?
実際、どちらでもありませんでした。Visual Basicチームによって所有されていなかった一握りのコンポーネントに関しては、'96や'98の当初のプログラマーが長期にわたり取り組んでいたの で、誰もその分野を主張しませんでした。このチームと話したとき、2通りの反応の内の1つの反応がありました。最初のものは、「こうしたコンポーネントに依 存している顧客がどれほどいるのか、考えたこともなかったです。どうしましょう?」というものでした。2番目は、「事実、さらに新しい拡張パージョンがあ ります。以前のバージョンとの後方互換性もあります。新しいバージョンを使うべきです」。
確実にServer 2008で動作するように、新バージョンを開発しなければならなかったのですか?(もしそうなら、どうすれば入手できますか?)
そんなことはまったくありませんでした。たいていこれらのコンポーネントは単なる軽量ラッパーで、DLLをActiveX制御に変換して、VB6デ ベロッパに簡単に消費されました。それは複雑なコードではなく、DLLがすでにWindows Server 2008およびWindows Vistaでサポートされていたことを考慮すれば、重要な機能は問題にさえならなかったのです。言い換えれば、Windowsチームがすべての重労働をし て、この機能を最新のものにして、サポート中のコンポーネントのおかげで、VB6デベロッパがそれに簡単にアクセスできるようにしています。
新たなVB6サービスパックが、今後のオペレーティングシステムをサポートする必要性を予見していますか?
これは非常に安定したコードベースであり、リリース後10年間で6つのサービスパックがリリースされています。ですからVB6ランタイムのサービスパックの必要はないと考えています。
これを応急処置と見ていますか?それともMicrosoftが、Server 2008のその後のサーバを実行するVB6およびVB6/VB.NETハイブリッドアプリケーションを実行しつづけることを約束しているのでしょうか?
忘れないでもらいたいのですが、MicrosoftはWindows Server 2008をサポートします。VB6ランタイムのほうはもう10年です。 Visual Basic 6の合計20年のサポートは、非常に意味のある約束です。