第5章 Windows 10のテクノロジー - 後方互換性に縛られるWindows 10

本節を"テクノロジー"と称してよいか疑問だが、今後Windows 10を使う我々が出くわす場面で重要になるため、本章で取り上げる。Microsoftは公式ブログでVisual Basic(VB)6.0アプリケーションがWindows 10でも動作することを明らかにした。

そもそもVisual BasicはMicrosoftが初心者向け言語であるBASICを拡張したものだが、バージョンを重ねることで構造化プログラミングやオブジェクト指向(風)の機能拡張を行い、ソフトウェア開発者が簡易的なコードを各場面や開発初心者の入り口として扱われるようになった開発言語である。

ファーストバージョンは1991年(日本未発売)だが、バージョンを重ねた最終版のVB 6.0は1998年。Windows 98の時代と述べれば、どれほど古いアプリケーションなのかご理解頂けるだろう。既に2008年4月で延長サポートフェーズも終了しているが、VB 6.0上で開発したアプリケーションに関しては動作サポートを表明している。ちなみに、後に.NET Flameworkの一環としてVisual Basic .NETシリーズが登場しているが、中身は似て非なるものだ。

さて、冒頭で述べたようにVB 6.0アプリケーションを実行するには、VB仮想マシンとなる「Msvbvm60.dll」ファイルが必要となる。こちらは「%SystemRoot%\SysWOW64」フォルダーに格納されており、Windows 10も同じだった。

Windows 8.1のVB仮想マシン「MSVBVM60.dll」

Windows 10の同ファイル。バージョンなど違いは確認できなかった

念のためVB 6.0アプリケーションをネット上からダウンロードして実行してみると、ランタイムライブラリがないと怒られてしまう。これはVBがプログラムに応じてAPIを格納したランタイムライブラリを要する仕組みだからだ。そのため、VB6ランタイムファイルをまとめたものをインストールした上で再度実行してみると、拍子抜けするほど問題なく動作する。もちろんセキュリティやシステムの制限によって、そのままは動かないVB 6.0アプリケーションもあるかと思うが、基本的には動作することを確認できた。

ランタイムライブラリがないとエラーメッセージが現れる。これは以前のWindowsでも同じだ

このようにWindows 10でもVB 6.0アプリケーションが問題なく動作する。なお、動作確認にはこちらを使わせて頂いた

このように後方互換性を維持するWindows 10だが、前述のようにWindows Media CenterやFDDのインボックスドライバを廃止するなど、レガシーなアプリケーション&システムを排除している。他方で個人的にWindows 10で困るのが、コントロールパネルと「設定」の関係だ。改めて説明するまでもなくWindows 95以降、あらゆる設定がコントロールパネル上のアプレットで行われてきた。しかし、Windows 10は設定項目の多くを「設定」に移行させているため、古いカスタマイズテクニックや慣れ親しんだ配色を行うのは難しい。

Windows 10のコントロールパネル。Windows Updateなど一部のアプレットは「設定」に移行するため廃止された

GUID「{ED7BA470-8E54-465E-825C-99712043E01C}」を利用した通称「Godモード」も使用できるが、一部のアプレットが廃止されたため、すべての項目が現れるわけではない

"Windows 10はアプリケーションベースでは後方互換性を維持しながらも、システム面はドラスティックな変更を加えている"、と述べるのが正しいだろう。