33년 된 Windows 앱, Win11서 실행 성공

원제: Oldest GUI application that still runs on Windows 11

왜 중요한가

Microsoft의 하위 호환성 설계가 30년 이상 지속됨을 실증한 사례로, 기업 레거시 소프트웨어 유지 전략에 시사점을 준다.

한 개발자가 Windows 11에서 별도 에뮬레이션 없이 실행되는 가장 오래된 GUI 애플리케이션을 탐구한 결과, 1992년 11월 16일에 링크된 NT 3.1 프리릴리즈 빌드의 CDPLAYER.EXE가 현재까지 약 33년 8개월 만에 정상 동작함을 확인했다.

블로그 enlyth의 저자는 Windows 11에서 수정이나 에뮬레이션 없이 구동 가능한 가장 오래된 GUI 앱을 찾는 실험을 진행했다.

첫 번째 후보는 Win32s 패키지에 포함된 FREECELL.EXE로, 수정 날짜가 1993년 2월 22일이었다. 실제로 최신 Windows 11에서 아무 문제 없이 실행 및 플레이가 가능했다.

더 오래된 것을 찾기 위해 Internet Archive에서 NT 3.1 초기 빌드를 뒤졌다. 1991년 빌드는 현대 Windows와 호환되지 않는 초안 PE 포맷을 사용했고, 1992년 중반 이전 빌드는 Windows API 호출 규약이 cdecl이어서 stdcall을 기대하는 현재 Windows에서 인자가 두 번 제거돼 충돌했다.

이 문제가 해결된 Build 347에서 발견한 CDPLAYER.EXE(링크 날짜 1992년 11월 16일)는 번들 C 런타임 대신 시스템의 crtdll.dll을 사용한다. Windows 11은 SysWOW64에 crtdll.dll을 아직 포함하고 있어 실행이 가능했다. CD-ROM 드라이브가 없어도 별도의 cdemu.dll로 가짜 오디오 데이터를 에뮬레이션하면 실제 음악 재생까지 된다.

'반칙' 영역으로는 otvdm을 이용해 1985년 11월 15일 날짜의 Windows 1.01 포함 REVERSI.EXE를 Windows 11에서 구동하는 데도 성공했다.

출처

blog.enlyth.com — 원문 읽기 →