Windows 11で動く最古GUIアプリを検証
原題: Oldest GUI application that still runs on Windows 11
なぜ重要か
Windowsの後方互換戦略が30年超のバイナリを現役で動かし得ることを実証した点は、エンタープライズ移行コスト議論に直接影響する。
技術ブログ「enlyth」の著者が、Windows 11上で改変・エミュレーションなしに動作する最古のGUIアプリを調査。1993年2月22日付の「FREECELL.EXE」および1992年11月16日付の「CDPLAYER.EXE」が現行Windows 11で実際に起動・動作することを確認した。後者は約34年前のビルドで、今もSysWOW64に残るcrtdll.dllを利用して動く。
技術ブログ「enlyth」の著者が、Windows 11で手を加えずに動く最古のGUIアプリを追う調査を公開した。64ビット版WindowsはNTVDMを搭載しないため16ビットアプリは対象外となり、調査はNT初期世代に絞られた。
まず見つかったのは「Win32s」の初期リリースに含まれる「FREECELL.EXE」で、日付は1993年2月22日。投稿時点で33年8か月前のバイナリが、最新のWindows 11上で完全にプレイ可能な状態で動作した。
さらに深掘りした結果、Internet Archiveで発掘したNT 3.1プレリリース版「Build 347」の「CDPLAYER.EXE」(リンク日:1992年11月16日)が注目株に浮上した。1991年の最初期ビルドはPEフォーマットが草案段階で非互換、1992年中頃までのビルドはWindows API呼び出しにcdecl規約を使っており、現代のstdcall前提のWindows 11ではスタック引数が二重に除去されてクラッシュする。しかしCDPLAYER.EXEは、この問題を回避する形でシステムの「crtdll.dll」に依存しており、Windows 11のSysWOW64にも同ファイルが存在するため起動に成功した。
CD-ROMドライブがない現代PCではそのままでは音声再生できないが、著者が「cdemu.dll」でドライブをエミュレートすると実際に音声が流れた。34年前のアプリが現役同然に動いた格好だ。
「ズルあり」枠として、otvdmを使えば1985年11月15日付の「REVERSI.EXE」(Windows 1.01同梱)もWindows 11上でプレイ可能なことも確認。著者はこれを「チート」と認めつつ紹介している。
Windowsの後方互換性がいかに長期間維持されているかを、具体的なバイナリで示した好例だ。