多年来,Windows 9x的用户一直不愿意升级到Windows NT,但在推出Windows XP前后,微软公司停止了对Windows 95的支持。业界内部人士猜测,下一个被微软公司放弃的可能就是对Windows NT 4.0的支持了。事实上,对于仍然想使用较老版本操作系统的用户而言,他们的选择已经很少了。
人们不愿意升级的原因有二个:巨大的硬件需求和与不是专为Windows NT开发的应用程序较差的兼容性。硬件已经不再是个问题,目前,即使是低端系统的硬件也足以运行Windows XP。但软件兼容性呢?尽管从表面上看,Windows XP是Windows家族中兼容性最差的Windows版本,它也包含了一些特殊的工具,在兼容性方面使用户有了比以往更多的选择。这些工具,有些是显性的,有些是隐性的,使我们能够对环境进行调整,更适合旧的应用软件运行。
运行DOS程序
DOS程序是最古老的了。由于微软公司已经从Windows XP中删除了“DOS兼容模式”,读者可能认为它也放弃了对DOS程序的支持。事实上,Windows XP中的新选项使得运行DOS程序更简单了。
右击DOS程序,在弹出式菜单上选择“属性”,“属性”对话框中的许多标签是相似的,但“兼容性”标签是全新的。这个标签能够让我们把程序设置为在256色、640X480分辩率的情况下运行。我们还能够禁止Windows XP强加给程序的缺省的视觉主题。
还有一些不太直观但功能更强大的工具。在DOS中,我们能够通过修改Config.sys和Autoexec.bat文件仔细地调整程序的环境。在有些情况下,我们需要针对一种程序的特殊的配置重新启动系统,然后再使用正常的配置运行其他程序。Windows XP能够使我们为每个DOS程序定义一个有针对性的Config.sys和Autoexec.bat。
下面是如何设置的具体方法。首先,将C:\Windows\System32\Config.nt和C:\Windows\ System32\Autoexec.nt拷贝到DOS程序所在的目录,然后根据我们的需求对它们进行编辑,并保存为一个新文件名。弹出DOS程序的“属性”对话框,移到“程序”标签,点击“高级”按钮。
输入为该程序创建的Config和Autoexec文件名,Windows XP将在该程序定制的环境中运行它。这一对话框还能够降低DOS程序的运行速度,如果不使用这种方法,在配置50MHz芯片的系统运行得很好的应用程序可能就不能在配置850MHz芯片的系统上运行。
不是专为XP设计的Windows程序
较早版本的Windows程序之所以不能在Windows XP上运行的原因有三个:它们会查询特定的Windows版本号、期望较早版本的Windows API调用返回的结果、它们期望的用户文件夹在不同的位置或格式不同。这些问题可以通过将Windows程序设置为在兼容模式下运行得到解决。
右击Windows程序,选择“属性”菜单项。如果点击“兼容性”标签,就会出现一个使我们能够设置最适合该程序运行的操作系统的下拉列表,点击“兼容性模式”方框,选择操作系统。使用这一模式会激活一系列?项,使Windows XP能够模拟较早版本的Windows。
如果不能确定程序需要使用哪种版本的Windows,或者程序还有其他兼容性问题,我们该怎么办?在Windows XP的光盘中还隐藏着一个强大的工具,有助于我们仔细调节程序的运行环节。
应用程序兼容工具包
Windows XP光盘中的\Support\Tools目录中,有一个“应用程序兼容性工具”(ACT)。今年4月份,微软公司又推出了升级版本(2.5版),用户可以从www.microsoft.com/windows/appexperience下载。ACT中包括4个改进程序兼容性的工具。
Application Verifier和PageHeap这二款工具是面向软件开发人员的,软件开发人员可以与调试程序一块儿配套使用它们,对在Windows XP中运行可能引起问题的部份进行测试。但另外二个软件:QFixApp和Compatibility Administrator有助于调整程序的运行环境,使较早的应用程序能够顺利运行。
QFixApp能够使我们对特定的应用程序进行许多低级调整。在这里我们不对199个可供应用的调整项进行详细的讨论,下面我们将讨论一些发现能够使程序顺利运行的特定的调整项。
打开QFixApp,选择要进行调整的程序。点击“层”标签,选择一个层。QFixApp中的层对应着前面在程序的“属性”对话框中的兼容性,选择一个层,例如Win95,然后选择“调整”。我们能够看到Win95兼容性模式是预定义的54个调整项(图1),但根据是否安装了最新的调整项,这一数字可能有变化。
在这里,我们可以添加或删除一些调整项。例如,如果应用程序改变了屏幕的显示模式,在程序退出时系统仍然还处于该状态,向下滚动下拉列表并尝试ForceTemporaryModeChange。当选择一个调整项时,其功能的描述会出现在下面的面板中,点击“运行”按钮可以测试这些变化对程序的影响。当关闭QFixApp时,对环境的变化将会存储在可执行文件中。当然,我们可以根据自己的需求选择或放弃调整选项。
浏览预定义的调整项
我们无需通过多次试验查找调整项,微软公司提供了许多调整项,我们可以对这些调整项进行浏览。
打开Compatibility Administrator工具(图2),扩展“系统数据库|应用程序”,调整程序运行环境的第一步是在数据库中发现一个相似的程序。例如,我们要调整102 Dalmatians系列中的程序,从该系列中选择一个微软公司已经调整好的程序,再参考QFixApp,我们会发现,EmulateHeap和EmulateMissingEXE二个调整项已经包含在Win95兼容模式中,但IgnoreAltTab调整项没有,我们就可以在QFixApp中选择该调整项,运行程序
需要注意的是,Windows XP既为应用程序的设置程序也为程序本身提供了预定义的调整项,我们可以将与一个程序相关的调整项组合到一个包中。
在需要支持以前的程序的企业IT部门,Compatibility Administrator就变得更重要了。一旦已经决定需要使用哪些调整项,点击“新”按钮,就会在“定制数据库”项下建立一个新的数据库。选中新建的数据库后,点击“调整”按钮打开一个向导,指导我们为该数据库建立一套程序调整项集。根据提示选择一个兼容模式,并设置在运行QFixApp测试时确定的需要的其他调整项,最后,将与该程序相关的文件组合在一起。当点击“自动生成”按钮时,Windows XP会为我们自动寻找这些文件。使用“文件|保存”,将定制数据库保存到一个能够传送给其他计算机的SDB文件中。
如果有许多以前的程序需要相似的调整项集,我们可以在定制数据库中创建一种新的兼容模式。高亮度显示该数据库后,点击“模式”按钮,我们可以将该模式命名为Legacy,当选择该模式时,相关的调整项集合主会被选中。一旦数据库被保存和安装后,我们就可以通过简单地选择Legacy兼容模式,对新的程序使用该模式中所有的调整项。要将该模式添加到其他系统上,可以将SDB文件拷贝到其他计算机上,并运行Sdbinst.exe进行安装。
Windows NT平台素有不能很好地运行老应用程序的恶名,但通过Windows XP中提供的新工具,我们就能够更好地运行以前的应用程序。