PR

16ビットのインストーラを回避する

 16ビットのコードが含まれているのがインストーラだけで,本体に含まれていないのであれば,回避する方法がある。x86のWindowsで一度インストールを行い,本体の実行ファイルが含まれるフォルダ(多くはProgram Filesの下にある)を,x64のWindowsにコピーするのである。

 前記の.mp3 Producerはフォルダをコピーするだけでx64 Vistaで動作した。Photoshop 5.0 LEはコピーだけでは無理だった。図5のようにDLL(Dynamic Link Library)ファイルが見付からないなどのエラー・メッセージが出てくるので,ファイル名をキーワードにして検索エンジンで探し,そのファイルをx64 Vista(WindowsのSystemフォルダなど)に入れた。ファイルの補充を何度も繰り返して,やっと起動するようになったのが図1である。

図5●Photoshop 5.0 LEでは,メインの実行ファイルがあるフォルダをコピーしてきただけでは,このようなエラー・メッセージが出て起動できない
図5●Photoshop 5.0 LEでは,メインの実行ファイルがあるフォルダをコピーしてきただけでは,このようなエラー・メッセージが出て起動できない
[画像のクリックで拡大表示]

 x64 Vistaで動くということは,そのアプリケーションの本体には16ビットのコードが含まれていないということだ。アプリケーション本体は32ビットなのに,なぜインストーラが16ビットなのか。それは開発者それぞれの事情ということになるが,一つ考えられるのは,16ビットWindows(Windows 3.1など)で動作させた場合にエラー・メッセージを出したかったから,という理由だ。今回例として取り上げているPhotoshop 5.0 LEのインストーラをWindows 3.1で動かすと,図6のエラー・メッセージが表示される。これもわかりやすいとは言いがたいが,「Windows 3.1ではだめなのかな?」とユーザーに考えさせることはできただろう。

図6●Windows 3.1でPhotoshop 5.0 LEのインストーラを動かすと現れるエラー・メッセージ
図6●Windows 3.1でPhotoshop 5.0 LEのインストーラを動かすと現れるエラー・メッセージ

コンテンツを含むソフトが困る

 ここまで例に出したPhotoshop 5.0 LEと.mp3 Producerは,本体が32ビットなので,インストーラを回避することでx64 Vistaで動かせた。しかしこれは「たまたま動いた」というレベルのことであって,他のソフトでも同様の方法が使えるとは限らない。

 それでも,Photoshop 5.0 LEは画像を生成するツールだし,.mp3 ProducerはMP3ファイルを生成するツールなので,動かなくても傷は浅い。新たなツールを買い直し,新たな使い方を習得するのは愉快なことではないが,まったく不可能というわけでもない。

 困るのはコンテンツが重要なソフトウエアである。例えば,図7はMicrosoftの「Musical Instruments」というCD-ROMタイトルだ。1992年にリリースされた16ビットのソフトで,今視聴しても十分価値があるコンテンツだし,将来もぜひ視聴したい。しかし,このソフトは新版が出ていないので,32ビット版や64ビット版を買い直すことはできない。本棚を見れば,ゲームを含めて,そういうCD-ROMがたくさんある。書籍や音楽CD,DVDと同じような感覚でコンテンツを大切にしたくて購入したのに,Windowsが64ビットになったことで,視聴できなくなってしまうのだ。

図7●1992年にリリースされた,米Microsoftの「Musical Instruments」。絵と音と文章で楽しめる
図7●1992年にリリースされた,米Microsoftの「Musical Instruments」。絵と音と文章で楽しめる
[画像のクリックで拡大表示]

 昔のパソコンを大事にとっておく,というのが一つの対処法だろう。我が家の押し入れにはWindows 98のノート・パソコンがあるし,x86 Vistaをインストールした現役のノート・パソコンも,長く保存するつもりである。ただ,古いハードウエアはいつ壊れるかわからないし,そのときには修理が難しいだろう。

 仮想マシン・ソフトを使うという方法もある。図8はx64 VistaにMicrosoftのVitual PC 2007 SP1をインストールして,その上でWindows 98,Windows XP(x86),Windows Vista(x86)をゲストOSとして動かした様子だ。Windows 98には384Mバイト,Windows XPには1Gバイト,x86 VIstaには2Gバイトを割り当てている。ホストOSであるx64 Vistaの使用メモリーを合わせると4Gバイトを突破するが,現状では物理メモリーを6Gバイト積んでいるので,なんとかなる。

図8●x64 Vista上で,x86のVista,x86のWindows XP,Windows 98を動かしている様子
図8●x64 Vista上で,x86のVista,x86のWindows XP,Windows 98を動かしている様子
[画像のクリックで拡大表示]

 16ビットのコードが動かないx64 Vistaでも,その上の仮想マシンに32ビットのWindowsを入れれば,16ビットのアプリケーションを利用できる。図7のMusical Instrumentsも,x64 Vistaの上のx86 Vistaで動かして画面を保存した。Virtual PCには,ゲストOSの動作速度が十分ではない,ホストOS上のすべてのデバイスを利用できるわけではないといった課題もあるが,先に述べたインストーラの16ビット・コード回避に使ったり,ちょっとした16ビットのアプリケーションを動かしたりするのには有用だ。

 今後のWindowsでは,x64のWindowsで16ビット・コードを動かせるようにすることをMicrosoftに求めたい。16ビットのコードが「そのまま」動くのが望ましい。その開発がコストがかかりすぎるのであれば,せめて,仮想マシン・ソフトと,16ビット・コードが動くゲストOSを標準装備にし,その性能と使い勝手を高めてほしい。

 Windowsがなぜ使われているか,それは互換性があるからだ。完璧な互換性があるというわけでは決してなかったが,それでも,Microsoftは互換性を重視する姿勢を示してきた。x64で,その立ち位置を見失わないように願う。