Visual Studio 2005ではWindows 95用アプリを作れない?!

MSDNライブラリを見ていてふと目に留まった項目があった。

test30_00.gif
サポートされるプラットフォームの中にWindows 95がない!ということだ。Windows NT 4.0も消えている。あるのはWindows 98以降とWindows 2000以降のみ。ちょっとこれにはビックリ。

test30_01.gif
本当にWindows 95をサポートしていないのかな?と思い簡単に確かめることにしてみた。
Visual Studio 2005を起動して「ファイル」メニューの「新規作成」から「プロジェクト」を選択する。そして「MFCアプリケーション」のプロジェクトを作成する。

test30_02.gif
MFCアプリケーションウィザードが開いたらすぐに「完了」ボタンを押さずに次へ進む。

test30_03.gif
デフォルトでは「ユニコードライブラリを使用する」にチェックが入っている。このチェックを外して「完了」ボタンを押す。Windows 9x系では基本的にユニコードは使えないために外している。


test30_04.gif
プロジェクトが作成できたら、左側の「ソリューションエクスプローラ」にある「stdafx.h」をダブルクリックして開く。そしてプラットフォーム用の定義を全て一番最低ラインの「0x0400」に変更する。


test30_05.gif
VC++で作成したEXEファイルは実行にいくつかのDLLファイルが必要なことが多い。依存環境を調べてDLLをコピーしてもいいが、手軽に実行用の環境を作るためにインストーラーを作る。
「ファイル」メニューにある「追加」から「新しいプロジェクト」を選択する。


test30_06.gif
プロジェクトの種類として「セットアップと配置」を選び、テンプレートは「セットアップウィザード」を指定して「OK」ボタンを押す。


test30_07.gif
これでインストーラーを作るためのセットアップウィザードが開いた。


test30_08.gif
プロジェクトの種類はデフォルトの「Windowsアプリケーションのセットアップを作成する」を利用する。


test30_09.gif
ここで「○○のプライマリ出力」にチェックを入れる。これで先ほど作成したMFCアプリケーションのEXEファイルがインストールされる。


test30_10.gif
必要な設定は済んだので「完了」ボタンを押してもいいが、一応内容を見るために順次「次へ」ボタンを押す。


test30_11.gif
これで「完了」ボタンを押してセットアッププロジェクトを作成する。


test30_12.gif
作成できたらVisual Studio 2005の画面上部にあるビルドモードの選択欄で「Release」を選択する。


test30_13.gif
そして「ビルド」メニューにある「ソリューションのビルド」を選択してビルドする。


test30_14.gif
この状態だとまだインストーラーまでは作成されないので、画面左側の「ソリューションエクスプローラー」内のセットアッププロジェクトを右クリックして現れるメニューから「ビルド」を選択してインストーラーを作成する。

test30_15.gif
ここまでできたらテスト環境を起動する。まずはWindows 98(Second Edition)でテストすることにした。テスト用のPCを用意してもいいが、今はVirtual PCが無料化されたのでこのような仮想マシン環境を使った方が楽だ。


test30_16.gif
Windows 98を起動したらVisual Studio 2005によって作成した「Setup.exe」と「Setup.msi」をコピーして起動する。これでインストーラーが起動する。


test30_17.gif
「次へ」ボタンをどんどん押してインストールを進める。インストール先のフォルダはデフォルトのままなので「c:\Program Files\既定の会社名\Setup1\」という変な場所になっている。


test30_18.gif


test30_19.gif
これでインストールが完了した。


test30_20.gif
エクスプローラでインストール先のフォルダを開く。するとちゃんと作成したMFCアプリケーションのEXEファイルがあることが分かる。これをダブルクリックして実行する。


test30_21.gif
するとエラーも出ずにちゃんと起動した。


test30_22.gif
Windows 98ではきちんと動作したので、次に問題のWindows 95でテストすることにする。ここではWindows 95 OSR2を用意した。


test30_23.gif
Windows 98のときと同じようにインストールする。インストーラーは正常に動くようだ。


test30_24.gif
そしてインストール先のEXEをダブルクリックして実行する。


test30_25.gif
...すると「プログラム開始エラー」のダイアログと「システムに装着してあるデバイスは動作していません。」というメッセージが表示された。本当にWindows 95では動かないようだ。


Dependency Walkerで調べるといくつかのDLLが使えていないようだった。がんばればWindows 95でも動作するEXEを作ることはできるだろう。しかしVisual Studio 2005でサポート外という事実は変わらない。そのためそこまでがんばるメリットもないだろう。
ということでWindows 95やWindows NT 4.0など古いプラットフォームでも動くソフトを開発したい場合はVisual Studio 2005以外を選択するしかないようだ。

プロジェクトファイルをダウンロード

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)


カテゴリー「コラム」 のエントリー