为什么旧程序不能在现代版本的Windows上运行(以及如何运行它们)

Windows完全是向后兼容的,允许人们--尤其是企业--在新版本的Windows上继续使用他们的重要应用程序。但这是有限度的。程序越老,就越有可能崩溃。

一般来说,您应该远离旧软件。避免在车库大甩卖中购买为Windows95设计的软件CD。不再工作的古老软件可能应该升级到现代的、兼容的版本。

软件不像媒体那样经久不衰

20年前的音频CD在现代CD播放机上可以很好地播放,唱片在现代唱片机上也可以很好地播放,DVD视频永远可以在带有DVD读取硬件的设备上播放。但是,18年前为Windows95制作的那张古老的软件CD是不同的。

音频CD、视频DVD,甚至唱片--它们都是标准的媒体格式。换句话说,音频CD上有音频数据。计算机自己解释这些音频数据。这就是1980年生产的音频CD可以在Windows8 PC、Mac或任何其他设备上播放的原因-计算机知道如何解释音频CD,并自行处理这一问题。音频CD不需要知道它正在播放的操作系统或设备。

然而,软件是不同的。软件并不是所有计算机都知道如何解释的标准-软件是在您的计算机上运行的代码。这取决于软件来做它需要做的事情。为Windows3.1或Windows95编写的软件如果发现自己在Windows7或Windows8上运行,可能会非常困惑。它会寻找不再存在的文件,甚至可能拒绝在这种不熟悉的环境中运行。

Windows以其向后兼容性而闻名,并试图帮助旧程序尽其所能地运行,但即使是Windows所能做的也是有限的。令人印象深刻的是,Windows的现代版本甚至可以运行Windows 95程序,因为Windows 9x系列是基于DOS和Windows XP的,而更高版本的Windows是基于Windows NT内核的-它们在幕后是完全不同的操作系统。

为什么程序可能无法运行

我们已经介绍了高级解释,但以下是一些可能会阻止程序正常运行的低级详细信息:

程序拒绝运行:如果一些程序注意到它们运行的是他们不知道的Windows版本,它们可能会拒绝安装。 16位程序:32位版本的Windows包含一个16位仿真环境,允许旧的Windows3.1软件运行。这是从64位版本的Windows中删除的,因此那些旧的Windows3.1程序根本无法运行。 DOS软件:从Windows XP开始,Windows的消费者版本不再构建在DOS之上。依赖实模式DOS的复杂DOS软件和游戏将不能在现代版本的Windows上本地运行。命令提示符窗口是一个不完全的兼容性功能,而不是一个完整的DOS系统。 旧库依赖关系:一些程序可能依赖于Windows中不再包含的旧库,或者依赖于其他旧程序,这些旧程序在新版本的Windows上也无法正常工作。 安全问题:旧的程序不习惯现代的Windows安全功能,在有限的用户帐户和UAC下可能不会运行得很好。Windows试图欺骗旧程序在有限的用户帐户下运行,但这并不总是能解决所有问题。

这不是一个详尽的列表,但它应该可以帮助您理解其中涉及的一些问题。程序被设计为在当前版本的Windows上运行,而不是在未来20年可能存在的Windows版本上运行。在现代版本的Windows上运行古老的Windows应用程序时,应该会出现损坏。随着微软和其他操作系统供应商改进他们的操作系统,旧程序除非更新,否则会逐渐被抛在后面。

如何运行较旧的程序

虽然如果可能的话,你应该避免使用非常旧的软件,但有时你就是做不到。你可能有一个业务关键的应用程序需要运行,或者你可能想玩一款旧的PC游戏。无论如何,您都可以使用一些方法来运行这些程序。

相关:在Windows 7中使用程序兼容模式

使用Windows的兼容性设置:Windows有内置的兼容性模式设置,可以帮助程序正常工作。右键单击程序的快捷方式,选择属性,然后单击兼容性选项卡。您可以选择程序在其下运行的Windows版本-Windows会试图欺骗该程序,使其认为它是在旧版本的Windows上运行。这不会总是让每个旧程序都能运行,但值得一试。甚至还有一个程序兼容性故障排除程序,它会尝试自动为您的程序找到正确的兼容模式设置。

在虚拟机中运行旧软件:您可以安装旧版本Windows的虚拟化副本并在其中运行软件,而不是尝试让您的旧软件在现代版本的Windows上运行。例如,如果您有一个在Windows XP上运行但不能在Windows 7或8上运行的应用程序,您可以使用Windows XP虚拟机来运行该程序。如果你有一个在DOS下运行的旧游戏,你可以在DOSbox中安装它。这对大多数程序都可以很好地工作,除非它们需要直接访问硬件设备-例如,通过串行端口与打印机连接的旧程序不能工作。但是,这比正常安装程序要不方便得多。

相关:如何在Windows 8上获取Windows XP模式

相关:如何诊断PC游戏问题

排除PC游戏故障:PC游戏位于媒体和软件之间。就像你可能想看20年前的电影一样,你也可能想玩20年前的游戏。然而,游戏是软件,玩20年前的游戏就像试图运行20年前的程序-如果可能的话,这是应该避免的。上面的技巧可能会帮助您运行旧游戏,但我们还介绍了让旧PC游戏正常运行的其他方法。

研究,研究,研究:如果这些技巧都不管用--或者你执意要让程序安装在你当前版本的Windows上,而不是安装在虚拟机上--你可能需要做一些研究。在谷歌上搜索程序名称和你当前的Windows版本,搜索你看到的任何错误消息,等等-这可能是一个艰难的过程,需要你一个接一个地解决问题,但如果你试图安装一个流行的程序,信息可能就在那里。这里涉及的单调乏味的工作意味着,如果可能的话,将旧程序抛在脑后进行升级通常是个好主意。

通常,您应该尽量避免使用可能无法正常工作的旧软件。坚持使用相当现代的、最新的软件。Windows软件CD与音频CD不同-不能保证它们能在现代版本的Windows和新硬件上正常工作。

图片来源:Flickr上的Ivo Jansch,Flickr上的Tarje Sælen Lavik

相关文章