Windows 7 应用程序质量明细手册.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《Windows 7 应用程序质量明细手册.pdf》由会员分享,可在线阅读,更多相关《Windows 7 应用程序质量明细手册.pdf(52页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 Windows 应用程序质量详细手册:应用程序兼容性、可靠性和性能的开发人员指南 版本 1.4 2009 年 3 月 3 日 本文档帮助应用程序开发人员熟悉如何使用新的操作系统验证其应用程序的兼容性,并概述 Windows 7 中已知的应用程序兼容性问题。本文档还指出 Windows 7 在性能、可靠性和可用性方面的改进之处,提供指向白皮书以及其他开发人员指南的链接。修订:2009 年 3 月 3 日 Windows 应用程序质量详细手册 第 2 页 共 52 页 注意注意 本文档所含信息代表 Microsoft Corporation 到本文档发布之日为止对所讨论问题持有的观点。由于 Mi
2、crosoft 必须对不断变化的市场情况做出响应,因此不得将本文档解释为 Microsoft 做出的承诺,且 Microsoft 不保证提供的信息在发表之日后仍准确无误。此此文档文档书仅供参考。对于本文档中的信息,书仅供参考。对于本文档中的信息,MICROSOFT 不作任何明示、暗示或法律担保。不作任何明示、暗示或法律担保。除版权法规定的权利以外,未经 Microsoft Corporation 明确的书面许可,不得以任何形式和任何手段(电子的、机械的、照相、录音或其他)复制、传输本文档的任何部分,或将其存储或导入到信息检索系统或用于其他任何目的。Microsoft 可能对本文档所叙述的主题拥
3、有专利权、专利申请权、商标权、版权或其他知识产权。除 Microsoft 的任何书面许可协议的明确规定外,向您提供本文档并不意味着同时授予您这些专利权、商标权、版权或其他知识产权。除非另外说明,此处提及的示例公司、组织、产品、域名、电子邮件地址、徽标、人员、地点和事件纯属虚构,并未影射任何实际的公司、组织、产品、域名、电子邮件地址、徽标、人员、地点或事件。2009 Microsoft Corporation.保留所有权利。Microsoft、Visual Studio、Windows、Office、Outlook、Internet Explorer、.NET 和 Project 是 Micro
4、soft 公司在美国和/或其他国家的商标。此处提及的实际公司和产品的名称可能是其各自所有者的商标。修订:2009 年 3 月 3 日 Windows 应用程序质量详细手册 第 3 页 共 52 页 目录目录 简介.4 兼容性.5 常规兼容性.6 操作系统版本控制.7 移除 Windows Mail.8 移除 Windows Movie Maker.10 NLS 排序更改.11 Internet Explorer 8用户代理字符串.14 移除 Windows 注册表反射.16 移除 Windows 便携设备的 WPDUSB.SYS 驱动程序.18 Microsoft 消息队列(MSMQ)SHA-
5、2 是默认的哈希算法.19 新增功能和增强功能.20 文档库替换文档文件夹.21 用户界面感知 高 DPI.22 Internet Explorer 8数据执行保护/NX.24 用户界面用户帐户控制对话框更新.26 ChooseFont()Win32 通用对话框.27 兼容性应用程序清单.29 Microsoft 消息队列(MSMQ)改进的队列处理能力.32 工具、最佳实践和指南.33 应用程序兼容性工具(Application Compatibility Toolkit(ACT)).34 Application Verifier.36 DISM 替代 pkgmgr、PEImg 和 IntlC
6、onfg 工具.40 Windows Troubleshooting.41 可靠性分析组件.42 Windows Error Reporting Problem Steps Recorder.43 网络挂起恢复.44 节能最佳实践.45 最大程度地减少无法响应的服务.48 Windows 7 应用程序认证.49 修订:2009 年 3 月 3 日 Windows 应用程序质量详细手册 第 4 页 共 52 页 简介简介 Windows 7 引入了最新的操作系统技术和软件开发平台,以供应用程序开发人员和全世界的企业使用。为了进一步增强 Windows 的安全性、可靠性、性能和用户体验,Micro
7、soft 引入了许多新增功能,改进了一些现有功能,同时移除了其他一些功能。Windows 7 与为 Windows XP、Windows Vista及其服务包编写的大多数应用程序高度兼容,但是由于创新、安全性增强以及更高的可靠性,有些不兼容性也是无法避免的。总之,Windows 7 与现有应用程序是高度兼容的。本文以 Windows Vista 应用程序兼容性详细手册(http:/ Windows 7 中为数不多的几个兼容性问题。除此之外,本文还指出性能、可靠性和可用性的改进之处,提供指向白皮书以及其他开发人员指南的链接。此外,Microsoft 将投资于几个新的和增强的特性和工具,以帮助您构
8、建高质量的应用程序,并对应用程序无法在 Windows 7 上正常运行的情况进行疑难解答。本文“新增功能和增强功能”、“工具、最佳实践和指南”两节中提供了有关这些内容的信息。我们将认真对待您的建议以改进本文。请将反馈发送到 ISVALLUP。修订:2009 年 3 月 3 日 Windows 应用程序质量详细手册 第 5 页 共 52 页 兼容性 本节介绍操作系统中的更改,由于这些更改可能会影响现有应用程序,因此您需要特别注意。此外还介绍了如何设计新的应用程序。修订:2009 年 3 月 3 日 Windows 应用程序质量详细手册 第 6 页 共 52 页 常规兼容性常规兼容性 常规兼容性包
9、含可能对客户端或同时对客户端与服务器端造成影响的主题。以下是本节包含的主题列表:操作系统版本控制 移除 Windows Mail 移除 Windows Movie Maker NLS 排序更改 Internet Explorer 8-用户代理字符串 移除 Windows 注册表映像 移除 Windows 便携设备的 WPDUSB.SYS 驱动程序 Microsoft 消息队列(MSMQ)SHA-2 是默认的哈希算法 修订:2009 年 3 月 3 日 Windows 应用程序质量详细手册 第 7 页 共 52 页 操作系统版本控制 受影响的平台 客户端:Windows 7 功能影响 严重程度:
10、高 频率:高 描述 Windows 7 的内部版本号是 6.1。查询时 GetVersion 函数现在将对应用程序返回此版本号。这对于病毒防护、备份、实用工具应用程序和副本保护尤其重要。影响表现 此更改影响具体的应用程序:任何专门用于检查操作系统版本的应用程序都将获得更高的版本号 应用程序安装程序可能无法安装应用程序,应用程序可能无法启动 应用程序可能警告用户并继续正常运行 有些应用程序可能会变得不稳定或崩溃 缓解方法 大部分应用程序在 Windows 7 上能正常运行,因为 Windows 7 中的应用程序兼容性非常高。尽管如此,Windows 7 包含一个兼容性视图(Compatibili
11、ty View),可供检查操作系统版本的安装程序和应用程序使用。用户可以右键单击快捷方式或可执行文件,从“兼容性”选项卡中选择 Windows XP SP2 或 Windows Vista 兼容性视图。在很多情况下,这使应用程序能够正常运行,而无需对应用程序做任何更改。解决方案 通常,应用程序不应该执行操作系统版本检查。如果需要特定的功能,最好尝试查找该功能,只有在找不到该功能的时候才会失败。最低要求是,应用程序应该总是接受大于等于最低的受支持的操作系统版本号。只有在特殊的法律、业务或系统组件需要时例外。修订:2009 年 3 月 3 日 Windows 应用程序质量详细手册 第 8 页 共
12、52 页 移除移除 Windows Mail 受影响的平台 客户端:Windows 7 功能影响 严重程度:高 频率:高 描述 Microsoft 不再支持 Windows Mail 实用工具,并禁用 API CoStartOutlookExpress。其他邮件 API 已经被标记为“已过时”(deprecated),准备在将来的 Windows 版本中移除。但是,没有标记为“已过时”(deprecated)或者“已废弃”(obsolete)的公开记录 的 API 将在 Windows 7 中继续使用。二进制文件仍然保留在用户的系统中,将可以继续通过 API 访问,在上文提到的情况下尤其如此。
13、此外,用户的电子邮件(.eml)和新闻(.nws)文件也将在系统中保留。影响表现 移除 Windows Mail 将导致以下结果:所有指向 Windows Mail 和联系人(例如,“开始”菜单、用户创建的快捷方式、“开始”-“运行”等等)的入口都将被删除或禁用。有些是完全移除,有些在尝试启动时会失败 所有 DLL 都在一起发布 公开记录的 API 将象在 Windows Vista 中一样运行 任何尝试启动主浏览器 UI 的 API 都将创建一个不报告的失败。该函数将成功返回,但是无法向用户显示 UI。调用其他对话框的 API(例如,Spooler 或帐户对话框(Accounts dialo
14、g)可以继续显示该 UI 协议(mailto、ldap、news、snews、nntp)处理程序无法与 Windows Mail 或联系人关联。尝试启动这些处理程序时,用户将看到一个错误对话框,通过该对话框用户可以设置相应的处理程序,使之与协议相关联 文件关联(.eml、.nws、.contact、.group、.wab、.p7c、.vfc)都将被断开或者禁用。当尝试打开带有这些扩展名的文件时,用户将看到一个对话框,提供其他已安装的应用程序,并将他们指向提供解决方案的网页 任何用户文件(例如,联系人文件或消息)在升级后都将继续保留在系统中 默认情况下,Contacts 文件夹将隐藏,因此用户无
15、法看到 API 在 MSDN 中被标记为已过时(deprecated)文件预览函数被移除 右键单击菜单中的 Shell hooks 被移除 文件搜索函数被移除 修订:2009 年 3 月 3 日 Windows 应用程序质量详细手册 第 9 页 共 52 页 缓解方法 用户应该安装 Windows Live Mail 或者其他能够读取.eml 和.nws 文件的邮件产品。解决方案 检测是否安装了默认的邮件处理程序。如果没有,建议用户安装 Windows Live Mail 或任何能够读取.eml 和.nws 文件的产品。不要设计调用 Windows Mail UI API 的代码,因为它无法工
16、作。必须找到其他访问.eml 和.nws 文件的方式。此外,只要可能,请不要依赖所有其他 Windows Mail API。兼容性、性能、可靠性和可用性测试 在 Windows 7 环境中实现应用程序,以确保应用程序不会试图调用 UI API。修订:2009 年 3 月 3 日 Windows 应用程序质量详细手册 第 10 页 共 52 页 移除移除 Windows Movie Maker 受影响的平台 客户端:Windows 7 功能影响 严重程度:高 频率:中 描述 Microsoft 移除了 Windows Movie Maker 实用程序。包括:移除了所有 Windows Movie
17、 Maker 的入口(例如,“开始”菜单、“开始”“运行”等)。移除了所有 Windows Movie Maker 使用的二进制文件(原来位于%ProgramFiles%Movie Maker 中的所有内容)。但是,用户的 Movie Maker project 文件仍然保留在系统中,支持该文件格式的其他应用程序将能够访问这些文件。表现 移除 Windows Movie Maker 将导致以下结果:任何使用该命令行参数启动 Windows Movie Maker 的尝试都将失败 任何为支持最新转换和动画而安装的插件都将保留,但无法展现给最终用户 解决方案解决方案 将来要拥有此项功能,用户需要安
18、装 Microsoft 或其他软件提供商提供的类似应用程序。修订:2009 年 3 月 3 日 Windows 应用程序质量详细手册 第 11 页 共 52 页 NLS 排序更改排序更改 受影响的平台 客户端:Windows XP|Windows Vista|Windows 7 功能影响 严重程度:高 频率:低(几乎不会对应用程序产生影响,但受影响的应用程序,程度一般很严重)描述 区域语言支持(National Language Support,NLS)函数有助于应用程序满足世界各地用户对不同的语言和区域的独特需求。新 Windows 版本几乎总是包括 NLS 更改。这种更改将影响排序规则和排
19、序,因此会影响具有永久索引的应用程序。排序规则表有两个标识版本(修订版)的编号:定义的版本和 NLS 版本。两个版本都是 DWORD 值,即主版本和次版本的组合。值的第一个字节是保留的,接下来的两个字节表示主版本,最后一个字节表示次版本。使用十六进制的表示方式是 0 xRRMMMMmm,其中 R 表示保留,M 表示主版本,m 表示次版本。例如,主版本为 3 次版本为 4 的版本号为 0 x304。对于主版本,一个或多个码位发生了变化,因此应用程序必须重新索引所有数据,这要比较才会有效。对于次版本,并未移动任何内容,但添加了一些码位。对于这种类型的版本,应用程序只能使用以前无法排序的值重新编排字
20、符串的索引。总之,关于特定于语言环境的异常表和默认表中的数据更改,版本号的含义如下:NLSVersion Major在“异常”或特定区域设定表中更改了码位 NLSVersion Minor在“异常”或特定区域设定表中添加了新码位 DefinedVersion Major在默认表中更改了码位 DefinedVersion Minor在默认表中添加了新码位 已发已发布版本的版本号排序:布版本的版本号排序:操作系统操作系统 发布发布 版本版本(0 xRRMMMMmm)Windows XP RTM/SP1/SP2/SP3/N/A 无 GetNLSVersion()API Windows Vista R
21、TM/SP1 0 x00 0405 00 Windows 7 Beta 0 x00060000 修订:2009 年 3 月 3 日 Windows 应用程序质量详细手册 第 12 页 共 52 页 表现 带有永久索引(即不检查 NLS 版本,不根据版本更改重新编排索引)的应用程序(比如数据库)将无法正确排序或提供所请求的结果。如果是用户界面,列表(例如,字母、数字、字母数、符号等)可能无法正确排序。解决方案 应用程序可以调用 GetNLSVersionEx(Windows Vista 或更高)或者 GetNLSVersion(Windows Vista 之前)检索排序规则表的定义版本和 NLS
22、 版本。GetNLSVersionEx:根据名称指定的区域设置,检索指定 NLS 功能的当前版本信息 该功能允许 Active Directory 之类的应用程序确定 NLS 更改是否影响用于特定索引表的区域设置。如果不影响,则无需重新对表进行索引。有关更多信息,请查看处理区域设置和语言信息。该功能支持自定义区域设置。如果 lpLocaleName 指定补充区域设置,则检索到的数据对于与该补充语言环境相关的排序规则顺序而言是正确的。注意:Windows Vista 之前的 Windows 版本不支持 GetNLSVersionEx。GetNLSVersion(用于运行在 Windows Vis
23、ta 之前的 Windows 上的应用程序):根据标识符指定的区域设置,检索指定 NLS 功能的当前版本信息 该功能允许 Active Directory 之类的应用程序确定 NLS 更改是否影响用于特定索引表的区域设置标识符。如果不影响,则无需重新对表进行索引。有关更多信息,请查看处理区域设置和语言信息。注意注意:该函数仅检索标识符指定的区域设置信息。GetNLSVersionEx 函数支持额外的区域设置、特性和 RFC 4646 名称。但是,Windows Vista 之前的 Windows 版本不支持 GetNLSVersionEx。应用程序仅在 Windows Vista 及更高版本上
24、运行的,应该首先选择使用 GetNLSVersionEx。GetNLSVersionEx 对补充区域设置提供很好的支持。兼容性测试 使用应用程序兼容性工具包(Application Compatibility Toolkit)中的排序更改健壮诊断(Sort Change Robustness Diagnostic)工具确定您是否需要更新应用程序。该工具分析应用程序行为,使开发人员能够评估应用程序更改在排序行为中的可靠性。它有助于确定是否需要对应用程序做出更改,以支持排序行为更改。通知排序规则是否发生更改(如果是,则需要重新索引):通知排序规则是否发生更改(如果是,则需要重新索引):对数据执行原
25、始索引时,使用 GetNLSVersionEx()检索 NLSVERSIONINFOEX 结构。存储以下属性与您的索引,以确定版本:NLSVERSIONINFOEX.dwNLSVersion 和 NLSVERSIONINFOEX.dwDefinedVersion这两个属性一起指定您正在使用的排序表的版本。NLSVERSIONINFOEX.dwEffectiveId该属性指定您排序的有效的区域设定。自定义区域设置将指向内置语言环境排序。修订:2009 年 3 月 3 日 Windows 应用程序质量详细手册 第 13 页 共 52 页 当使用索引时,使用 GetNlsVersionEx()查询您
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Windows 应用程序质量明细手册 应用程序 质量 明细 手册
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内