l
Windows Vista应对概述:
在部署新操作系统时,应用程序兼容性是组织面对的最严峻挑战之一。在微软公司,提供识别和解决应用程序兼容性难题所需的信息和资源是一项非常重要的工作。在发布
Windows Vista
时,微软将提供相应的工具和资源,减少因解决应用程序兼容性问题而花费的时间和成本,同时降低工作的复杂性。
首先,Windows Vista 在设计和开发之初便着眼于应用程序兼容性问题,在日常测试工作中,开发小组对来自 150 多家的
4000 多个应用程序进行了测试。
Windows Vista 可根据需要自动通过“程序兼容性助手”执行简单的兼容性更改。
微软支持 Windows Vista 的应用程序兼容性工具包 (Application Compatibility Toolkit)
V5 将随同 Windows Vista 一起发布,并立即提供给用户使用。ACT
能帮助用户理解应用程序环境的范围,识别需要增强安全性和适应 UAC 情境的应用程序,以及帮助用户立即修复这些应用程序。
还将托管一个在线 Web 服务,供 ISV
和客户发布他们的应用程序兼容性测试结果。该在线社区将根据数以千计的应用程序测试工作来提供兼容性结果,为客户提供一个大型的兼容性信息数据库,供他们在规划环境时进行参考。
此外,微软还会推出一些出色的“桥接”技术,帮助用户完成迁移过程。通过使用微软的 Virtual PC、Virtual Server
和终端服务器环境,用户可在较老的虚拟操作系统环境中继续运行较老的应用程序,确保应用程序的供应不存在任何中断。
已经将此技术与新的部署技术和指南(例如 “业务桌面部署解决方案加速器”)进行了集成,帮助用户更快、更经济地完成部署。
1.2.1. 最佳实践的指导
l
企业现状:
当前在企业的生产环境中,面临很多应用程序兼容性的问题,由于应用程序数量和种类繁多,企业面对出现兼容性问题的应用程序时,往往没有很好的方法进行处理,也得不到很好的最佳实践的指导,使得应用程序兼容性问题大量存在,严重影响了企业正常的生产环境。
l
企业需求:
在遇到应用程序兼容性问题时,企业希望能够获得最佳实践的指导,能够有足够关于应用程序兼容性的信息,以及获得正确的收集、评估、修改的指导,这样能够极大提升企业在应用程序兼容性方面的工作效率,为企业节省花费。
l
Windows Vista应对概述:
Windows
Vista提供了大量用于应用程序兼容性收集、评估、修改的工具,并且为这些工具提供了大量最佳实践和指导,并且针对Windows
Vista操作系统可能造成应用程序兼容性问题出现的变化,提供了大量的实践指导和相关文档,使得企业在遇到应用程序兼容性问题时能够获得足够的信息和指导帮助。
1.2.2. 信息的收集和评估
l
企业现状:
随着企业的不断发展,根据企业、业务或个人的不同需求,企业日常工作所需要的应用程序也越来越多。当前企业往往不能很好地集中收集企业中所有的应用程序信息,一旦出现了兼容性问题,也就不能立即、准确地判断出问题的所在。
l
企业需求:
企业希望能够集中收集企业中所有应用程序的信息,能够集中统一地获得应用程序的信息,不仅仅收集应用程序的基本信息,还希望能够获得应用程序更为详细的信息,如安装路径、更改注册表位置、调用API等等信息,以使得企业在面临兼容性问题时能够快速准确地发现并解决问题。
l
Windows Vista应对概述:
全新的应用程序收集和分析工具应用程序兼容性工具包ACT5.0提供了集中、统一收集企业应用程序和系统信息的功能,能够帮助企业收集生产环境中的所有信息,不仅包括基本信息,而且包含更为全新的程序信息,以便在出现兼容性问题时能够帮助企业完成兼容性的判断。ACT还能够通过收集到的信息,对应用程序兼容性进行分析和评估,能够初步判断收集到的信息是否存在兼容性问题,以及问题出现在何处,帮助企业对应用程序进行修改。
1.2.3. 现有应用程序与Windows Vista的兼容性
l
企业现状:
企业在收集到了应用程序存在兼容性问题时,往往无法正确判断出现问题之所在,不得不由开发人员重新查看所有的代码,以确定问题,或者完全重新设计应用程序,这极大地增加了企业的花费。在IT人员对应用程序进行补偿或开发人员对应用程序进行修改时,往往没有很好的指导、工具或者方法,无法快速准确地对应用程序进行修改或补偿。
l
企业需求:
企业希望能够了解和预见应用程序兼容性问题,使用这些信息解决问题将有助于确定应用程序环境所被要求的修改范围。在发现应用程序兼容性问题后,IT人员能够对应用程序做出基本的补偿,以保障应用程序能够正常运行,开发人员希望能够获得全面的兼容性信息,以便准确地找到问题所在,对应用程序进行适当地修改,实现应用程序能够与最新的硬件和操作系统一起正常工作。
l
Windows Vista应对概述:
全新的应用程序收集和分析工具应用程序兼容性工具包ACT5.0提供了应用程序兼容性补偿的功能,能够帮助IT人员对存在兼容性问题的应用程序进行补偿,以使得应用程序能够基本正常运行,最大限度地为企业节省了成本。应用程序兼容性工具包ACT5.0还提供了详细评估应用程序的工具,能够帮助企业的开发人员迅速准确地找到程序兼容性问题,并且帮助开发人员对应用程序进行相应的修改,提高了开发人员的工作效率,节省了企业成本。
1.2.4. 开发符合Windows Vista标准的应用程序
l
企业现状:
随着Windows Vista的发布,目前有一些应用程序无法在Windows
Vista上正常运行,这些软件的开发商希望能够开发出应用程序的Windows Vista版本。
l
企业需求:
软件开发商期望能够得到针对Windows Vista的开发技术细节资料,以及Windows Vista上的开发指导。
l
Windows Vista应对概述:
Windows Vista开发的方面,提供了大量的新特性。微软也对其提供了大量技术资料,指导开发人员来开发Windows
Vista版的应用程序。
1.3.1. Windows Vista主要影响应用程序兼容性的变化:
操作系统版本检查:因改变操作系统而引起兼容性问题在Windows Vista中可以通过使用Program Compatibility
Assistant将应用程序运行在其他操作系统的兼容模式下。
系统文件的Windows资源保护和注册表位置保护(WRP):在Windows
Vista中利用新的受保护的文件系统和注册表位置会更加安全和稳定,在对话期间,大多数的应用程序调用这个位置时都将自动地重定向到临时位置。如果应用程序数据试图要坚持在受保护的系统区域运行,那么就必须修改那些应用程序。
Microsoft Graphical Identification and Authentication (GINA)。在
Windows Vista 之前,若要登录到第三方服务器或使用第三方设备,ISV 必须替换 Windows XP 中的
Graphical Identification and Authentication (GINA)
动态链接库。此类应用程序还必须替换现有 UI,并在 Windows XP 上实现智能卡和远程桌面功能。Windows Vista
引入了一个新的验证模式,不再使用GINA的验证模式。
用户账户控制(UAC)和定制“标准用户”场景的能力。在Windows Vista中应用程序必须支持新的标准用户权限。
在安全模式下利用更低,但更安全的权限运行Internet Explorer:为保护Windows
Vista的统一性,现在Internet
Explorer以低权限操作,这并不代表允许访问系统文件。可能需要修改Internet和intranet应用程序使其可以在一个限制性更强的安全场景中运行。
会话 0 隔离:在Windows Vista中服务被隔离在会话0中,无法与当前用户桌面进行交互。
64位 Windows Vista:在Windows
Vista的64位环境中是不支持16位应用程序和32位驱动的。而对于64位环境,自动注册和重定向系统文件是不可用的,因此新的64位应用程序必须遵守Windows
Vista应用程序标准。
新的防火墙和反病毒API。
新系统API是暴露在Windows
Vista操作系统的反病毒软件和防火墙处理层中。完成这些功能的应用程序需要使用新系统API对程序进行适当的修改。
1.3.2. Windows Vista应用程序兼容性工具
Program Compatibility Assistant
Windows Vista自动地做基本兼容模式的修改需要通过Program Compatibility
Assistant完成。
应用程序兼容性工具包(ACT 5.0)
微软的Application Compatibility Toolkit (ACT)5,工具包的版本与Windows
Vista的版本一致,它可以帮助理解应用程序,识别应用程序对Windows
Vista兼容性所需的改进,创建并且部署那些应用程序需要的修改部分。作为一种应用程序的生命周期管理工具,ACT 5.0
可减少在解决应用程序兼容性问题上所耗费的成本和时间,并帮助您快速部署 Windows Vista 和 Windows XP/SP2
操作系统。
IE7 Readiness Toolkit
使用 IE7 Readiness Toolkit,网站、扩展和/
或应用程序的开发、测试、部署或支持过程中涉及的所有受众可以轻松地做好使用 Internet Explorer 7 的准备。
Windows Vista 升级顾问
判断基于 Windows XP 的 PC 是否可以运行 Windows Vista? 只需下载、安装并运行 Windows Vista
升级顾问即可。
这个小巧的软件工具可以扫描您的计算机,然后对所有已知的系统和设备兼容性问题创建一份易于理解的报告,并推荐解决这些问题的方法。升级顾问还可以帮助您选择
Windows Vista 的版本,所选的版本会与您所要使用计算机的方式最贴合。
Microsoft Application Verifier
Application Verifier
是针对非托管代码的运行时验证工具,它有助于快速找到常规应用程序测试很难识别出的细小编程错误。Application Verifier
专用于检测并帮助调试内存崩溃和严重安全漏洞。
1.3.3. 基本工作原理
1.3.3.1.
版本检查
Windows Vista 的内部版本号为 6。现在,GetVersion 函数在请求时将向应用程序返回此版本号。
此版本更改的表现是特定于应用程序的,具体情况如下: 任何对操作系统版本做专门检查的应用程序都将获得较高的版本号。
应用程序的安装程序可能无法完成安装,并且应用程序可能无法启动。
应用程序可能警告用户并继续正常运行。有些应用程序可能变得不稳定或崩溃。
大多数应用程序都可以在 Windows Vista 上正常运行,因为Windows Vista
中的应用程序兼容性非常高。不过,对于检查操作系统版本的应用程序和安装程序,Windows Vista
中提供了兼容模式。用户可以右键单击快捷方式或 EXE,并通过“兼容性”选项卡应用 Windows XP SP2
兼容模式。在大多数情况下,这会使得应用程序如同在 Windows XP 上运行一样,无需对应用程序进行任何更改。
1.3.3.2.
用户帐户控制(UAC)
增强 Windows
安全性的一项关键举措是让交互用户使用标准用户帐户运行,从而只赋予他们一组有限的权限和特权。默认情况下,Windows Vista
将以标准用户身份运行每个应用程序,即使您以管理员组的成员身份登录也是如此。相反,当用户尝试启动已标记为需要管理员权限的应用程序时,系统将明确要求他们确认要执行此操作。只有使用管理员特权运行的应用程序才能修改系统以及全局设置和行为。Windows
Vista的这项功能叫做用户帐户控制 (UAC)。
不能检测和提升自定义安装程序、卸载程序和更新程序以管理员身份运行。要求管理特权才能执行任务的标准用户应用程序可能失败,或者使此任务对标准用户不可用。若应用程序尝试执行当前用户不具备必要权限的任务,则该应用程序可能失败。失败表现的具体方式取决于应用程序的编写方式。
执行管理任务和进行全局更改的控制面板应用程序可能无法正常工作,甚至失败。
使用 RunDLL32.EXE 运行的 DLL
应用程序在执行全局操作时可能无法正常工作。对全局位置进行写入操作的标准用户应用程序将通过虚拟化被重定向到用户各自的位置。
1.3.3.3.
Windows资源保护(WRP)
Windows Resource Protection (WRP) 旨在以只读状态保护Windows
系统,从而增强系统稳定性、可预测性和可靠性。这会影响具体的文件、文件夹和注册表项。只能由操作系统信任的安装程序来更新受保护的资源,如
Windows
Servicing。这样,操作系统附带的组件和应用程序便能得到更好的保护,免受其他应用程序和管理员的影响。应用程序和管理员不能成功替换或修改受保护的操作系统资源,并产生以下结果:
试图替换、修改或删除受 WRP
保护的操作系统文件和/或注册表项的应用程序安装程序可能失败,并出现无法更新资源的错误消息。原因是拒绝对这些资源的访问。
试图将新注册表项或值写入受保护注册表项的应用程序可能失败,并出现因为拒绝访问更改失败的错误消息。
如果应用程序依赖于注册表项或值,它们在试图写入受保护资源时可能会失败。
1.3.3.4.
会话 0 隔离
在 Windows XP、Windows Server 2003 和更早的 Windows
操作系统版本中,所有服务都在与第一个登录到控制台的用户相同的会话中运行。此会话称为会话 0。让服务和用户应用程序都在会话 0
中运行会带来安全风险,因为服务是使用经过提升的特权运行的,因而会成为希望提升自身特权级别的恶意代理的目标。
Microsoft Windows Vista 操作系统将会话 0 中的服务隔离,并使会话 0
采用非交互模式,从而缓解了这个安全风险。在Windows Vista 中,只有系统进程和服务在会话 0 中运行。第一个用户登录到会话
1,而后续用户登录到后续会话。这意味着服务将永远不会与用户应用程序在相同的会话中运行,因此可免受源自应用程序代码的攻击。
1.3.3.5.
64 位 Windows Vista
Windows Vista 完全支持 AMD 和 Intel 的 64 位处理器。Windows Vista 的 64 位版本通过
WOW64 仿真器可以运行所有32 位应用程序。不过,其内核不支持 16 位应用程序、16 位安装程序和 32
位内核模式驱动程序。
所有 64 位驱动程序必须对 Windows Vista 64 位版本进行数字签名。未签名的驱动程序不受支持,并且不能安装在 64
位Windows Vista 上。在安装过程序中和驱动程序加载时进行数字签名检查。
在 Windows Vista 64 位版本上,使用 16 位可执行程序、16 位安装程序或 32
位内核驱动程序的应用程序或组件将无法启动或正确运行。
1.3.3.6.
IE7保护模式
在 Windows Vista 中,Microsoft Internet Explorer 7
以保护模式运行,通过使用严格限制的特权运行 Internet Explorer 进程,可保护用户免受攻击。
在 Internet 或 Intranet 区域中,使用 Internet Explorer 7
的应用程序无法直接写入磁盘。
应用程序可能不知道如何处理新提示。保护模式以新的完整性机制为基础,采用更高的完整性级别限制对安全对象(如进程、文件和注册表项)的写访问。以保护模式运行时,Internet
Explorer 是一个完整性较弱的进程;它无法获得对用户配置文件或系统位置中的文件和注册表项的写访问权限。
低完整性进程只能写入分配有低完整性强制标签的文件夹、文件和注册表项。因此,Internet Explorer
及其扩展以保护模式运行,只能写入低完整性位置(如新的低完整性 Temporary Internet Files 文件夹、History
文件夹、Cookies 文件夹、收藏夹和 Windows Temporary Files 文件夹)。
此外,Windows Vista
发行后,保护模式进程将以低桌面完整性级别运行,这可以防止将特定的窗口消息发送到高完整性进程。
通过禁止对用户系统敏感区域的未授权访问,保护模式可以限制由受到破坏的 Internet Explorer
进程或恶意软件所导致的损害。例如,攻击者不能以无提示模式将键击记录程序安装到用户的 Startup
文件夹。同样,受到破坏的进程也不能通过窗口消息在桌面上操纵应用程序。
当然,这些防御措施也会限制对较高完整性位置 (IL) 的合理更改。为此,保护模式提供了可以减少对现有扩展的影响的兼容架构。
1.3.3.7.
TCP/IP 堆栈和Windows Filtering
Windows Vista 网络栈已完全重新编写。Windows XP 或 Windows
Server 2003 中采用的是双栈模式(以支持 IPv4 和 IPv6),而 Windows Vista
则实现了一个新架构,使用单个传输和组帧层来支持多 IP
层。其中提供了若干新功能和协议增强。这个新栈模块化特征明显,灵活且具有可扩展性。虽然我们尽力保持与该栈在不同层上发生交互的现有应用程序的兼容性,但仍然存在可能引发应用程序兼容性问题的更改(大部分都是性能改进的副作用),应用程序开发人员必须对此进行仔细的评估,以理解这些更改对其应用程序的影响。
Microsoft Windows Filtering Platform (WFP) API
允许开发人员创建与筛选操作交互的代码;此类筛选操作会发生在 Windows Vista 和代号为“Longhorn”的
Microsoft Windows Server 操作系统网络栈的多个层中,甚至牵涉到整个操作系统。WFP 还基于应用程序使用的套接字
API 集成了防火墙功能(如经过身份验证的通信和动态防火墙配置)并提供对其的支持。
1.3.3.8.
内核模式 IP 助手 API
在 Windows 的以前版本中,Winsock 客户端没有用于访问内核的 API 集。这将在 Windows Vista
中发生改变。另外,Windows Vista 现在将默认支持 IPv6。新助手 API 集没有为 IPv4 和 IPv6 提供独立的
API,而是设计为提供跨所有新技术的公共功能,如下所述:
用于 Windows Sockets in Kernel (WSK) 客户端的内核模式功能。
IPv6 支持。
用于 IPv4 和 IPv6 寻址的单一函数集。
提供一致的可扩展对象模型。
提供定义完善的基于网络服务接口的安全模型。
公开新堆栈功能,如数据舱和子接口。
1.3.3.9.
IPv6
Windows Vista 中的 TCP/IP 堆栈将默认启用 IPv6。IPv6 连接是首选的(如果可用)。这对挂钩到 TCP/IP
堆栈中的应用程序具有以下影响:
IPv6 流量将由 Windows Vista 堆栈发送,而不受网络是否支持 IPv6
的影响。其结果之一就是路由器请求和邻居发现消息会默认生成。
将默认提供并启用 IPv6 地址。可能会有多个 IPv6 地址与链接-本地、全局、临时或转换技术关联,如
6to4、6over4、ISATAP 或 Teredo。
Windows Vista 将允许系统配置为 IPv6-only 模式。在此情况下,将不提供 IPv4 支持。Windows
Vista 中的 TCP/IP 堆栈支持强主机路由模型。这意味着来自多宿主 (multi-homed)
计算机的数据包的路由不仅要基于目标地址,还要基于数据包的源地址。
1.3.3.10. Windows Vista Program
Compatibility Assistant。
在管理应用程序兼容性和部署Windows Vista时,Windows Vis