Windowsからどうしても消されない12KBのアイコンファイル「moricons.dll」とは?

「moricons.dll」は文字通り、多くのアイコン(more icons)が含まれているファイルで、Windows 11にも残っています。そのサイズはわずか12KBで、今日の複雑なアイコンとは異なるコンパクトなWindows 3.1時代のアイコンが格納されています。このmoricons.dllについて、Microsoftの開発者で自他共に認めるWindowsの生き字引であるレイモンド・チェン氏は「Windowsの互換性に対する考え方を象徴するファイルだ」と解説しています。
What were the intended uses of those icons in moricons.dll? - The Old New Thing
https://devblogs.microsoft.com/oldnewthing/20250505-00/?p=111143

1990年にリリースされたWindows 3.0で初めてMS-DOSプログラムをウィンドウで実行できるようになりましたが、当時は「DOS」と書かれたシンプルなアイコンが使われていました。Windows 3.1になるとGUIが向上し、個々のアプリケーションに応じた異なるアイコンが使われるようになりました。
当初、これらのアイコンはプログラムマネージャー(progman.exe)に格納されていましたが、数が増えるにつれて独自の保存場所が必要になりました。この保存場所がmoricons.dllでした。このファイルには今もTurbo PascalやQuattro Pro、WordPerfect、Lotus 1-2-3、cc:Mailなど、90年代初頭の人気アプリケーションのアイコンが収められています。
チェン氏によれば、Windows 3.1で使われたmoricons.dllのアイコンはWindows 95でショートカットファイルに変換され、その後のバージョンアップで引き継がれてきたとのこと。この互換性の連鎖は、64ビットWindowsはMS-DOSプログラムをサポートしていないため、32ビットから64ビットWindowsへの移行時に理論上断ち切られるはずでした。

by biggraham
しかし、64ビット移行の焦点は新しいシステムへの対応であったことから、実際は古いコードの見直しは優先されませんでした。また、moricons.dllはわずか12KBでセキュリティリスクもなく、誰かが古いアイコンを使っている可能性もあるため、そのまま残されました。
つまり、12KBのストレージ使用という小さい問題を許容する方が、潜在的な互換性の問題を引き起こすリスクを冒すよりも賢明だという判断によって、moricons.dllはWindows 11まで引き継がれているというわけです。

チェン氏は「眠った犬はそのままにして、12KBを消費する方がよい」と述べ、時にはレガシーコードをそのままにしておくことが最も安全な選択肢になり得ることを示唆しました。
・関連記事
Windows 7には「壁紙を単色にすると起動が遅くなる不具合」が存在していた - GIGAZINE
かつてマウスやキーボードに付属していたUSB端子をPS/2コネクタに変換するアダプターの仕組みについてMicrosoftの開発者が解説 - GIGAZINE
なぜWindows 95のセットアップは3種類のプログラムで構成されていてMS-DOSからWindows 95への直接アップグレードは不可能だったのか? - GIGAZINE
Windowsで表示されるブルースクリーンの生みの親は誰なのか? - GIGAZINE
3Dパイプや迷路のスクリーンセーバーはどういった理由で採用されたのか? - GIGAZINE
Windowsでコピペできるデータの最大サイズとは? - GIGAZINE
Windows 8の初期のビルドには幻のネコが存在していた - GIGAZINE
・関連コンテンツ
in ソフトウェア, Posted by log1i_yk
You can read the machine translated English article What is the 12KB icon file 'moricons.dll….