なぜWindows 95のセットアップは3種類のプログラムで構成されていてMS-DOSからWindows 95への直接アップグレードは不可能だったのか?
by Marcin Wichary
1995年に登場した「Windows 95」のセットアップファイルはMS-DOSプログラム、16ビットプログラム、32ビットプログラムの3種類で構成されていて、MS-DOSからのアップグレード時には途中でWindows 3.1のインストールが行われる手順になっていました。なぜこのような複雑な内容だったのかという事情について、30年以上にわたってWindowsの進化に携わってきたソフトウェアエンジニアのレイモンド・チェン氏がMicrosoftによる公式ブログ「The Old New Thing」で解説を行っています。
Why did Windows 95 setup use three operating systems? - The Old New Thing
https://devblogs.microsoft.com/oldnewthing/20241112-00/?p=110507
Why did Windows 95 setup use three operating systems? | Hacker News
https://news.ycombinator.com/item?id=42166606
Windows 95をインストールするにあたって想定される環境は「MS-DOS」や「Windows 3.1」への新規インストールと、ファイル修復などを目的として「Windows 95」に再インストールする場合の3種類です。
どのようなセットアップファイルを用意するかは選択肢がいくつかありますが、できるだけ作成の手間を省くのであれば、すべての環境で共通して動作するセットアップファイルを作成するのが一番です。
しかし、3つのOSは対応するプログラムに違いがあります。チェン氏が表にして示したように、MS-DOSが対応するのはMS-DOSプログラムのみ。Windows 3.1はMS-DOSプログラムに加えて16ビットプログラムにも対応し、Windows 95になるとさらに32ビットプログラムにも対応しています。
OS\プログラムMS-DOS16ビット32ビットMS-DOS○✕✕Windows 3.1○○✕Windows 95○○○
つまり、3種類のOSで共通して実行可能するためにはMS-DOSプログラムである必要があるというわけです。しかし、MS-DOSプログラムとして作成した場合、テキストベースなのでGUIを改善して使いやすくしたことをウリにしているWindows 95の印象を損ねてしまうという問題が発生します。
一方、Windows 95に合わせた32ビットのGUIプログラムとして作成すると、見た目はWindows 95に最適化されますが、「MS-DOSやWindows 3.1にインストールするためにWindows 95が必要になる」という本末転倒な状況を招きます。
このため、実際には3種類のセットアッププログラムを1つに組み合わせたものが採用されました。
まずステップ1で、MS-DOSプログラムが実行され最小構成のWindows 3.1がインストールされます。「最小構成」とは、16ビット版プログラムが動作する最低限の条件を満たすものです。
ステップ2で、16ビット版プログラムが実行され、Windows 3.1およびWindows 95環境で端末情報の収集と、各種ドライバやWindows 95構成ファイルのローカルへのコピー、設定が行われます。このステップを終えるとすべての端末でWindows 95が起動します。
そして最後のステップ3では32ビット版プログラムが実行されて、プリンターのインストールなど、Windows 95の起動状態で操作する必要がある手順を処理します。
こうした構成にすることによって、想定される3種類の環境に対して準備するセットアッププログラムを1つで完結させ、実行も一度で済むようになったとチェン氏は解説しています。
なお、同様のセットアップ構成はWindows 98でも採用されています。
「Windows 98」のセットアッププログラムの一部が他の部分よりも古く見えるのはなぜか? - GIGAZINE
11/18 20:00
GIGAZINE