摘要
只要在应用程序测试过程中发现了某个应用程序和 Microsoft® Windows® XP 间可能存在兼容问题,就必须找到相应的解决办法来使应用程序按预期的方式运行。可以将兼容性修补程序集合到兼容层中,并通过兼容性管理器 (Compatibility Administrator) 工具进行分发。
| 简介 | |
| 通过兼容性管理器创建自定义的兼容层 | |
| 总结 |
Microsoft® Windows® XP 中最令人兴奋的发展之一就是增加了一系列强大的应用程序兼容技术。这些技术甚至可以通过 Windows XP 外壳提供给最终用户。面对广大的用户群,若将应用程序兼容性修补程序的部署工作交由每个计算机用户来完成,那么这项任务就变得相当艰巨,或者根本无法实现。幸运的是,有一种更简单的方法可用于对多个兼容性修补程序进行打包,并在 Windows XP 计算机上进行分发,以实现自动安装。
只要确认了一组兼容性修补程序,就可以使用兼容性管理器工具对这些修补程序进行打包,以便分发给其它的 Windows XP 计算机。
本小节探讨如何使用兼容性管理器,创建并准备自定义的应用程序兼容性数据库文件,从而在一台或多台 Windows XP 计算机上,支持多个应用程序。
兼容性管理器可以将多个应用程序的兼容性修补程序和兼容层打包集合到单个兼容性数据库文件 (*.sdb) 中,然后分发给其它 Windows XP 计算机。这对于只有少数人员向大量用户提供软件支持的大型网络环境尤其有用。
兼容性管理器工具附带在 Windows XP 中,可在安装光盘的 \Support\Tools 文件夹中找到该工具。 兼容性管理器随同应用程序兼容性工具包 (Application Compatibility Toolkit) 2.0 版一起分发。
若要在 Windows XP 系统上安装应用程序兼容性工具包
1. | 将 Windows XP CD-ROM 插入本地 CD-ROM 驱动器。 |
2. | 使用“我的电脑”或“Windows 资源管理器”浏览到放置 Windows XP 安装光盘的 CD-ROM 驱动器,并打开 \Support\Tools 文件夹。 |
3. | 双击 ACT.EXE,启动安装程序。接受安装程序的默认选项。 |
安装完应用程序兼容性工具包后,就可以通过“开始”菜单来访问。可以在“开始”菜单的“应用程序兼容性工具包”菜单项中找到兼容性管理器。
Windows XP 包含有关某些应用程序中可能存在的常见兼容问题的信息。微软在 Windows XP 中所提供的应用程序兼容性修补程序设计用于帮助 Windows XP 正确支持有关应用程序的正常运行,同时又不危及系统的稳定性。
总共四个 DLL 包含了所有的兼容性修补程序
位于 %WINDIR%\AppPatch 文件夹中的四个 DLL 包含了所有的兼容性修补程序。APPHELP.SDB 和 SYSMAIN.SDB 文件用于实现“应用程序帮助”消息及 Windows XP 附带的应用程序修补程序。
“应用程序帮助”消息包含了当 Windows XP 上启动的程序确实与操作系统不兼容时所显示的信息。可能遇到“应用程序帮助”消息的应用程序包括:
| • | 防病毒程序 |
| • | 需要对操作系统进行内核级访问的程序 |
| • | 安装有特定文件系统驱动程序的程序 |
导致应用程序无法正常运行的原因
运行在 Windows 早期版本上的应用程序可能无法在 Windows XP Professional 正常运行。出现这种情况的部分原因在于:
| • | 当 Windows 报告了新的、更高的操作系统版本号时,应用程序无法运行。通常,只要用户消除了这个障碍,应用程序就能很好地在 Windows 的新版本上运行了。 |
| • | 应用程序调用了较旧版本的 Win32 API 函数,从而在具有大量资源(比如:可用的磁盘空间)的计算机上返回了意外的值。 |
| • | 应用程序需要较旧格式的 Windows 数据。 |
| • | 应用程序需要用户信息(比如:个人及临时文件夹)位于特定的位置或采用特定的格式。 |
若要运用兼容性管理器解决上述问题,就需要创建自定义的数据库,其中包含有应用程序所需的兼容性修补信息以及使 Windows XP 能唯一识别需要协助的应用程序的文件匹配信息。
兼容性管理器使用户可以浏览保存在受保护的系统数据库中的应用程序兼容性修补程序,从而对数百个应用程序应用已知的修补程序。兼容性管理器的主界面提供了一个控件,用于在 Windows XP Professional 系统数据库中查看和浏览具有兼容性修补程序的应用程序。这个视图总是显示在兼容性管理器窗口的左上窗格(“系统数据库”窗格)中。
系统兼容性数据库是 Windows XP Professional 操作系统的一个完整的组成部分,用于确保数百个 Windows 应用程序在安装后立即与系统实现兼容。该数据库及相对应的应用程序条目受操作系统的保护。
只要对目标应用程序确定并测试了相关的修补程序,就可以使用兼容性管理器,创建自定义的修补程序数据库。可以创建一个自定义修补程序数据库,同时包含受兼容层保护的应用程序和受特定的兼容性修补程序保护的应用程序。
使用兼容性管理器,新建自定义数据库
1. | 通过依次单击“开始”、“所有程序”、“应用程序兼容性工具”以及“兼容性管理工具”,打开“兼容性管理器”。 |
2. | 若已经打开了一个自定义的修补程序数据库,则选择“文件”,并单击“新建”。 |
3. | 选择“数据库”,然后单击“更改数据库名称”。只要更改了数据库名称,新名称就将显示在“自定义数据库”窗格的顶部。如果已禁用了“更改数据库名称”菜单项,那么单击窗口上的“自定义数据库”窗格。 |
4. | 选择“文件”,单击“保存”,并对 .sdb 文件进行命名。 现在就可以对自定义数据库添加修补程序了。 |
只要创建了一个空的自定义数据库来包含应用程序兼容性修补程序,就可以添加兼容层了。
添加兼容层
1. | 在“数据库”菜单上,选择“创建应用程序修补程序”。将弹出“创建一个应用程序修补程序”对话框。 |
2. | 选择“应用兼容模式”,并单击“下一步”按钮。 |
3. | 输入将对其指定一个兼容模式的应用程序的名称,并单击“下一步”。 |
4. | 输入将应用兼容模式的文件的名称。可以键入文件的名称,或使用“浏览”按钮进行定位。 |
5. | 从下拉列表中选择所要应用的兼容模式,并单击“下一步”。 |
6. | 单击“添加文件”按钮,选择所要的文件,这有助于识别目标计算机上的指定文件。(选择与将安装在同一个相关位置的应用程序相关联的文件。譬如,选择一个与 .exe 文件位于同一个目录的 .hlp 文件。尝试对文件进行唯一识别,避免选择大量不必要的匹配文件。) |
7. | 选择了所有必要的匹配文件后,单击“下一步”。 |
8. | 若要在应用修补程序的情况下测试应用程序,则单击“测试运行”。否则,单击“完成”。 |
可以运用相同的过程,对自定义数据库逐一添加兼容性修补程序,不过也可以在“创建一个应用程序修补程序”对话框中,选择有关选项来“应用特定的兼容性修补程序”。在将所有兼容性修补程序或兼容层都添加到新建的数据库后,保存数据库文件,并测试应用程序。
文件匹配
Windows XP 中的应用程序兼容技术提供了一种可区分名称相同或相近的文件的方法。Windows XP 通过运用文件匹配信息,来实现这种方法。假如用户对某个 SETUP.EXE 文件创建了一个兼容性修补程序,但又想在每次运行名为 SETUP.EXE 的文件时,都使用该兼容性修补程序,那么可以指定其它一组属于该应用程序的文件。通过收集有关这些文件的特定属性的数据,Windows XP 可以唯一识别需要该兼容性修补程序(只要在计算机上)的应用程序。
只要对应用程序兼容性修补程序创建了自定义数据库,就必须将其应用到将运行相关应用程序的计算机系统上。对多台 Windows XP 计算机部署兼容性修补程序的常规过程包括以下步骤:
| • | 确认并测试用于目标应用程序的修补程序。 |
| • | 创建一个带有所需的修补程序的自定义数据库文件。 |
| • | 将 .sdb 文件分发给 Windows XP 目标计算机。 |
| • | 使用 SDBINST.EXE 命令,注册自定义数据库。这将对目标计算机的注册表,自动安装并添加修补程序信息。 |
将自定义数据库文件分发给其它的 Windows XP 计算机
可以通过多种方法来完成将自定义数据库文件分发给其它的 Windows XP 计算机的任务:
| • | 可以将数据库文件打包到自定义的安装程序中,通过组策略在 Active Directory 网络中分发,但这需要额外的开发工作。 |
| • | 可以通过手动方式,将数据库文件复制到每台远程 Windows XP 计算机上,或者可以通过运用登录脚本来完成。 |
| • | 另外,还可以将自定义的 .sdb 文件放在一个网络共享中,供所有 Windows XP 用户访问。 |
但是,如果分发给远程计算机,那么必须在每台计算机上,注册数据库文件所包含的信息。可以通过在命令行提示符窗口中,使用 SDBINST.EXE 命令,后面接自定义的 .sdb 文件的完整路径和名称,来完成注册。例如:
Sdbinst c:\Windows\AppPatch\myapp.sdb
只要在计算机上注册了数据库文件,那么每次启动相关的应用程序时,都将使用对应的兼容性信息。
与以往的任何一款 Windows 操作系统相比,Windows XP 都提供了更出色的应用程序支持。除了对广泛已知的应用程序兼容问题的内置支持外,应用程序兼容性工具包中的工具还使系统管理员能够支持他们拥有的所有应用程序。
兼容性管理工具(兼容性管理器)就是应用程序兼容性工具包中的这类工具。兼容性管理器使系统管理员可以获得通过测试确认的信息,并将其打包到自定义的兼容性数据库中。而应用一次该数据库文件,就可支持多个应用程序,并可轻松地分发给其它需要相关兼容性修补程序的 Windows XP 计算机。只要在远程计算机上,使用 SDBINST.EXE 命令注册了兼容性数据库文件,Windows XP 就可以在每次启动相关的应用程序时,使用有关的信息。
这只是一份预备性文档,在文中所述软件的最终商业版本发布之前,可能会有重大改动。本文所含信息代表了微软公司在本文发布时的观点。因为微软必须顺应不断变化的市场条件,这些信息不应被视为微软方面的承诺,同时微软也不能保证本文发布之后其他任何信息的准确性。