忽略对全局提供的并行程序集的应用程序可能会出现 Microsoft 软件更新修复的问题

文章翻译 文章翻译
文章编号: 835322 - 查看本文应用于的产品
展开全部 | 关闭全部

简介

在基于 Microsoft Windows Server 2003 的计算机上,管理员可以为特定应用程序忽略任何全局更新的并行程序集。在基于 Microsoft Windows XP 的计算机上,软件开发人员和管理员可以为特定应用程序忽略任何全局更新的并行程序集。不过,此忽略功能可能使您的应用程序容易发生本可通过安装全局 Microsoft 软件更新来修复的问题。所以,强烈建议软件开发人员和管理员不要使用此功能。

建议您不要使用与 Windows 技术中的 DLL/COM 重定向功能混合在一起的并行程序集。有关详细信息,请参见“更多信息”一节。

更多信息

并行程序集包含一个资源集合,其中可能包括一个或多个 DLL 文件、Windows 类、COM 服务器、类型库或接口。这些资源总是一起提供给应用程序。并行程序集由可能位于下列任一位置的 XML 应用程序清单选择:
  • 应用程序的可执行文件中的资源。
  • 与应用程序的可执行文件安装在同一文件夹中且扩展名为“.exe.manifest”的文件。
  • Microsoft 应用程序 兼容性数据库中的一个设置。如果 Microsoft 应用程序兼容性数据库提供了一个应用程序清单,则该清单将优先于应用程序 所提供的清单。
完成部署后,软件开发人员或管理员可使用应用程序配置文件,按照每个应用程序的配置来更新程序集配置。应用程序配置文件的扩展名为“.exe.config”,并且与该应用程序的可执行文件位于同一文件夹中。使用应用程序配置文件,可以将特定应用程序从使用并行程序集的一个版本重定向为使用同一程序集的另一版本,而不需要重新编译该应用程序。例如,管理员或开发人员可以更新或“加入”单个应用程序,使其使用未通过发行者策略在所有应用程序上强制实施的较新的并行程序集。这样,对于指定的应用程序,较新的并行程序集将取代该程序集的早期版本。

另外,Windows Server 2003 的管理员或者 Windows XP 的管理员或软件开发人员可以为特定应用程序忽略或“排除”任何全局更新的并行程序集,而不是为所有应用程序删除全局更新的程序集。要做到这一点,管理员可将应用程序配置文件更新为包含 <publisherPolicy apply="no"/> 元素。

在基于 Windows XP 的计算机上,要确定是否会使用应用程序配置文件为特定应用程序忽略任何全局更新的并行程序集,请在与该应用程序可执行文件同名的 .config 文件中查找 <publisherPolicy apply="no"/> 元素。例如,在 Application.exe.config 文件中查找 <publisherPolicy apply="no"/> 元素,以确定使用 Application.exe 作为其可执行文件的应用程序是否会忽略全局更新的并行程序集。此 Application.exe.config 文件与该应用程序的应用程序清单安装在同一位置。

使用此功能,软件开发人员和管理员可以根据需要为安装软件更新后无法正常工作的特定应用程序禁用 Microsoft 软件更新。(所以,软件开发人员或管理员无需为所有应用程序删除软件更新。)不过,如果应用程序忽略了更新,该应用程序可能会出现该软件更新所修复的所有问题。

注意:在基于 Windows Server 2003 的计算机上,此忽略功能需要 Microsoft 应用程序 兼容性数据库中的一个条目。只能由管理员或由 Microsoft 在软件更新中添加此设置。

应用程序作者或控制应用程序目录的人员还可以使用其他方法忽略全局更新。

使用 Windows 技术中的 DLL/COM 重定向须知

此技术通常会调用一个 .local 文件,使之与应用程序一起部署。这样有助于减少应用程序兼容性问题。

注意:该 .local 文件可使系统优先使用应用程序文件夹中的 DLL 副本,而不是全局副本,而后者可能是重要的服务更新。我们建议软件开发人员和管理员在应用程序使用并行程序集时,应谨慎使用此功能,或者干脆不使用。

有关 Windows 技术的 DLL/COM 重定向的更多信息,请访问下面的 Microsoft Web 站点:
http://msdn2.microsoft.com/en-us/library/aa375142.aspx


对使用并行程序集的软件开发人员的建议做法
  • 与应用程序清单一起提供应用程序,该清单列出用以生成或测试您的应用程序的并行程序集版本。
  • 始终与并行 DLL 一起部署并行程序集的清单文件,即使选择部署到应用程序文件夹亦如此。
  • 如果在运行 Microsoft Windows 2000 或更低版本的 Windows 的计算机上安装您的应用程序,请不要在应用程序文件夹中向这些操作系统提供并行程序集。相反,应从系统文件夹中使用并行程序集。
  • 请不要使用 .local 功能,即 Windows 上的 DLL/COM 重定向。
  • 不要对具有显式完整路径的并行程序集 DLL 运行 LoadLibrary 函数。相反,应使用静态链接或使用具有原始 DLL 文件名的 LoadLibrary 函数。例如,使用 “Gdiplus.dll” 作为文件名。
有关更多信息,请访问下面的 Microsoft Web 站点:
http://msdn2.microsoft.com/en-us/library/ms997620.aspx

参考

有关独立应用程序和并行程序集的更多信息,请访问以下 Microsoft Web 站点:
http://msdn2.microsoft.com/en-us/library/aa375193.aspx
有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684 有关用于描述 Microsoft 软件更新标准术语的介绍

属性

文章编号: 835322 - 最后修改: 2007年12月1日 - 修订: 4.3
这篇文章中的信息适用于:
  • Microsoft Windows Server 2003, 64-Bit Datacenter Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003 Datacenter Edition
  • Microsoft Windows Server 2003 Web Edition
  • Microsoft Windows Server 2003 Standard Edition
  • Microsoft Windows Server 2003 Enterprise Edition
  • Microsoft Windows XP Professional Edition
  • Microsoft Windows XP Tablet PC Edition
  • Microsoft Windows XP Media Center Edition
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional x64 Edition
关键字:?
kbinfo kbtshoot kbsecurity kbprb KB835322
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com