学习如何使用微软应用兼容性分析器(MS ACA,Microsoft Application Compatibility Analyzer)。该工具是Windows应用兼容性工具包(ACT,Windows Application Compatibility Toolkit)的三组件之一,用户可以借助该组件将工具包作一个迷你软件管理系统。
在2003年8月,微软发布了ACT3。该软件是一套辅助IT专业人士将程序移植到Windows XP平台上的工具。但如果跳出框框(outside the box)看,你就会发现它还可以被用来完成更多的功能。
MS ACA是ACT的三组件之一。该工具包被设计用于对企业软件基础在向Windows XP进行移植时对软件进行评估。然而,我发现该工具包同样可以被当作一个小型的软件管理系统来使用,尤其是对于那些不打算为Microsoft Systems Management Server或Novell的ZENworks支付大笔费用的中小企业而言。MS ACA可以被用于多个站点,它可以将数据存储到SQL Sever或Access数据库中。该软件完全基于浏览器GUI界面,非常易于使用。它的确是很好的工具,尤其它是完全免费的!
MS ACA概况
MS ACA是微软兼容性工具包的一部分。该工具包包括了一系列可以帮助开发人员、网络管理员和技术支持人员对Windows 2000 Service Pack 3、Windows XP以及Windows Server 2003等兼容性问题进行专业排障的工具。该工具包有三个主要组成部分:
MS ACA1.0:该工具可以从计算机中收集软件及有限的硬件信息,然后将信息以XML文档的方式进行保存。这些单独的XML文档可以被打包到一个单独的数据库中并可以用来确定Windows XP的兼容性。这就像是提供了一个绝好的软件管理数据库系统一样。
Windows应用程序验证器(Windows Application Verifier)2.5:Windows应用程序验证器的目标用户是应用程序开发人员。
兼容性管理器(Compatibility Administrator)3.0:该工具允许创建一个兼容性数据库。该数据库由已知的补丁和修正程序集合构成。这些补丁和修正程序是针对运行在Windows 2000、 XP或是Windows 2003 Server上的特定应用程序的。该工具是针对企业内部的技术支持人员和网络管理员的。
在工具包的安装过程中,你可以选择你希望安装三组件中的某个组件。对于完全安装而言系统需要45MB的空闲磁盘空间。就本文而言,我将仅仅安装MS ACA,该组件安装需要38MB空闲磁盘空间。
MS ACA由两个单独的部分组成:收集器和分析器。在本例中我将使用这两种工具对软件进行管理。
收集器
收集器是一个1MB的命令行工具,其功能同其名称一样。它可以从计算机上收集信息并将其存储在日志文件中,该文件随后可以被分析器所调用。这些信息包括一些基本的硬件数据,例如处理器速度、计算机型号、RAM、已经安装的应用程序等等。收集器可以收集如下系统的信息:
Windows 95
Windows 98
Windows 98第二版
Windows ME
Windows NT 4
Windows 2000 Professional
Windows 2000 Server
Windows XP Professional
Windows Server 2003
收集器并不一定要安装在执行它的计算机上,它也不需要用户输入。它将以最小化方式在Windows系统托盘上运行。然而,在它试图连接到因特网时,我的个人防火墙软件发出了警报。我无法确定这种情况发生的原因,因为日志文件仅仅被分析器所使用。收集信息大约需要5到10分钟的时间,这取决于计算机的速度和需要分析的程序数量。如果没有指定目标地址和格式,收集的结果将以.CAB文件的形式存放在计算机的桌面上。文件名为:计算机名{会话标识}.CAB。
你可以以多种方式来启动收集器。从登录脚本,从软盘,将其作为组策略(Group Policy)、将其作为发布应用程序(SMS),甚至是一个打包的对象放在电子邮件消息中。我并不喜欢使用软盘的方式,原因很简单,该工具被设计为自动运行,同系统无缝连接,并且无需人工干预。如果为了启动收集器而采用通过sneaker-net访问PC的方式似乎有悖于该工具的设计初衷。
输入COLLECTOR.EXE /?将显示完整的可用命令行参数列表。即COLLECTOR.EXE [/? [/F [path] [/I] [/S] [/N] [/A]] [/O [path]] [/X] [/D [days]] [/E [name]] [/P [file_name]] [/Y] [/K] [/C [E][N][S][G][W]]。该信息同样可以通过位于\Windows Compatibility Toolkit\Applications\Application Compatibility Analyzer目录下的readme.txt文件或是你所选择的兼容性工具包安装目录中找到。在本例中,我通过如下方式选择在登录脚本中启动收集器:
collector.exe /X /E %site% /D 7 /O S:\Inventory\Software
该命令创建了一个XML文档作为输出文件,使用我们的“site”环境变量(在登录脚本中定义)作为部门。如果上一次的信息收集不是在过去7天之内,则将输出指向一个服务器的中央文件夹。该文件的文件名将以工作站的计算机名接CRC“签名”开始,该CRC签名可以标识唯一的会话(例如WRKSTN1.{746AFA32-30FA-407C-87F7-95A446B343FF}.XML)。我自己喜欢将文件以XML扩展名保存。这出于两个原因。首先,在分析器程序将每个日志文件导入其数据库时这可以减少一个修改步骤。其次,我们可以通过IE 或者记事本查看XML文件的原始格式。
需要记住,由于收集器并不将自身作为服务安装到计算机中,因此如果你需要每过几天就运行一次收集器,那么应该使用计划任务(Scheduled Tasks)服务来进行设置。我喜欢将其放在登录脚本中,并且使用/D选项规定仅在经过指定天数后才创建一个新的XML文件。
分析器
工具箱中真正功能强大的是分析器程序。分析器是一个相对小型的GUI应用程序。它可以查看通过收集器功能所收集的所有信息。分析器需要Internet Explorer 5.5 SP1支持,且运行在Windows 2000 Professional、Windows 2000 Server、Windows XP Professional、Windows Server 2003及以上版本,Windows 2000及以上版本也可。要运行分析器,双击\Windows Compatibility Toolkit\Applications\Application Compatibility Analyzer directory文件夹下的analyzer.exe 文件。
一旦分析器开始运行,下列步骤将引导你创建数据库:
第一步:欢迎
欢迎界面对分析器进行了介绍,同时提供了到收集器帮助文件的链接。单击Start Using The Analyzer(开始使用分析器)进入下一步。
第二步:创建/打开数据库
现在你将选择创建一个新的数据库或是打开一个已有的数据库。如果选择创建新数据库,单击Create New Database(创建新数据库),你将会被询问是创建Access还是SQL数据库――Access是默认选项。如果选择Access,你将被提示输入所创建的.MDB文件位置,如 图A所示。如果选择SQL,你将被提示选择所希望使用的SQL服务器,并且输入要打开或创建的数据库名称。如果选择Open Existing Database(打开已有数据库),则需要输入Access或SQL数据库地址。除非你的企业拥有超过一千台工作站,否则我建议你选择Access,因为它更加易于使用。在输入正确的数据库信息后,单击Continue(继续)。
第三步:指定收集器日志文件位置
在这一步,你需要输入通过收集器所创建的日志文件位置,如 图B所示。单击Add(添加)按钮以指定日志文件位置,然后单击Continue(继续)。
第四步:连接到微软兼容性数据库
MS ACA将询问你希望是立即连接到微软的在线兼容性数据库(Compatibility Database)还是在稍后完成这项工作。分析器将借助兼容性数据库判断你的应用程序是否同微软的产品兼容。如果希望分析器报告应用程序的兼容性,则应当选择立即连接。如果只是想知道计算机安装有哪些软件,则选择稍后连接。现在可以单击Continue(继续)进入下一步。
第五步:创建数据库
MS ACA现在将显示被用于创建数据库的日志文件数量以及总大小。单击Start(开始)按钮以创建数据库。一旦数据库被创建,你可以看到如 图C所示的应用程序概况(Application Summary)界面。
通过应用程序概况界面获取信息
现在来看看应用程序概况窗口的详细情况。它有几个不同的部分,从左边面板开始是Current View(当前查看)、Report Options(报告选项)、Resources(资源)。
当前查看
该面板决定了哪些信息将会被显示在应用程序概况窗口。它还在Status(状态)区域显示了一些有用的统计信息。现在我们可以看到同Windows XP兼容性相关的应用程序概况。钩选状态栏中的选项可以根据所选择的条目对数据进行排序。你还可以使用Search(查找)区域来对选择的应用程序进行过滤。例如,执行对Office的查找将显示所有在应用程序名中包括了“Office”一词的应用程序。
对于那些将此程序作为移植Windows XP应用程序辅助工具的用户而言,这些数据是很宝贵的。将鼠标指针悬停在任何一个子类别上然后单击,在应用程序概况窗口中将会显示相关的条目信息。例如,单击Compatible With Issues(兼容但有问题)将会显示如 图D所示。 选择任何状态子条目实际上是在对数据库进行过滤。要去掉过滤只需要单击Remove All Filters(去除所有过滤器)即可。
如果希望对显示的数据进行进一步提炼,可以选择Change Filter Criteria(改变过滤准则)并决定根据以下何种