Windows 11 上仍能运行的最古老应用
从 1992 年的 CD 播放器到 1985 年的 Reversi,梳理 Windows 11 兼容旧应用的边界与办法。
在开源世界里,我们习惯了针对自己的发行版从源码编译软件,所以即使某个老版本仍有人用,它也能跑在最新发行版上。但在 Windows 世界里,软件很少附带源码,用户拿到的往往是一个二进制程序,只有当 Windows 版本提供所需 API 时才能运行。较新的 Windows 早已放弃 16 位支持,这意味着“仍能在今天运行的最早 Windows GUI 应用”必然有一个时间下限。Enlyth 对此展开了调查。
从 32 位 API 往回找
Windows 11 支持的最早 API 是 32 位,因此调查方向落在 Windows NT 3.1 的最早版本,或 Windows 3.1 的 Win32s 扩展上。1993 年的 Win32s 版 Freecell 可以顺利运行,但这还不是终点。
更早的线索指向 Windows NT 3.1 的预发布版本,不过这里有个障碍:早期 Windows NT 3.1 的 API 与后来的版本不兼容。经历大量崩溃的二进制程序后,Enlyth 找到了 1992 年 11 月的一个 CD 播放器应用。它能运行,是因为调用了一个至今仍存在的 DLL。这个程序还需要另一个 DLL 来模拟 CD 驱动器——这很能说明 PC 世界的变化:当年 CD-ROM 是存储的终极答案,如今谁还有光驱?
16 位应用靠 WineVDM 复活
这是能运行的最早官方二进制程序,但故事还没结束。Windows 11 没有用于运行 16 位应用的 VDM,不过 WineVDM 补上了这个缺口。于是,1985 年 11 月 Windows 1.01 中的 Reversi 出现在了 Windows 11 上。那些古老的软件,或许还有被救回来的机会。
讨论
0 条评论