Windows XP 上的每应用程序配置

在 Windows XP 上,每个应用程序配置会基于每个应用程序替代 默认配置发布者 配置。 这会将特定应用程序的依赖性从一个并行程序集的版本重定向到另一个指定的程序集版本。

注意

从 Windows Server 2003 开始,每个应用程序配置仅当 应用程序配置文件 指定 publisherPolicy 中的 apply=“no” 并且应用程序兼容性数据库中存在相应的条目时,每个应用程序配置才会覆盖 发布服务器配置。 每个应用程序配置始终替代 默认配置。 有关信息,请参阅 每个应用程序配置

 

如果特定应用程序的正确作需要与通常指定为默认或发布服务器配置的版本不同的程序集版本,则可能需要每个应用程序配置。 例如,发布者对程序集版本的全局更新可能会修复程序集,但会中断此特定应用程序。 在这种情况下,可以使用每个应用程序配置使应用程序能够继续使用以前的程序集版本运行。 另一个示例是,包含程序集更新的 Service Pack 安装可能会使用 发布服务器配置 将系统上所有应用程序和程序集的依赖项从版本 1.0.0.0 重定向到 1.0.1.0。 如果某个应用程序要求版本 1.0.0.0 正常工作,则可以使用每个应用程序配置重定向到版本 1.0.0.0。

应用程序管理员可以通过创作和安装 应用程序配置文件来实现每个应用程序配置。 这些将特定应用程序从依赖于一个并行程序集的版本重定向到另一个版本。 应用程序配置 文件可以替代 发布服务器配置文件,以及 应用程序清单程序集清单指定的默认配置。 应用程序配置文件包括加载程序 在调用 CreateProcess 时使用的信息。

若要配置应用程序以覆盖应用程序清单和发布者配置,开发人员必须创作应用程序配置文件。 然后,应用程序配置文件将部署并安装到与应用程序的可执行文件相同的文件夹中。 有关文件架构的列表,请参阅 应用程序配置文件架构

请注意,如果应用程序使用按应用程序配置,则它不会收到任何重要的安全修补程序或 bug 修复,程序集的发布者可能会作为发布者配置文件发出。 因此,使用按应用程序配置的应用程序可能仍然不安全或即使在将具有这些修补程序的新程序集应用到系统后仍无法正常工作。 出于此原因,应用程序开发人员绝不应使用按应用程序配置交付应用程序。 仅当应用程序被发布者配置损坏时,企业管理员才应使用按应用程序配置作为临时修复。 在这种情况下,永久性解决方案是程序集的开发人员和应用程序的开发人员需要协同工作,以确保具有发布服务器配置的程序集完全向后兼容。

下面是应用程序配置文件的示例。 有关详细信息,请参阅 应用程序配置文件

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<configuration>
  <windows>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <assemblyIdentity 
          name="Microsoft.Windows.mysampleApp" 
          processorArchitecture="x86" 
          version="1.0.0.0" type="win32"/>
        <dependentAssembly>
          <assemblyIdentity type="win32" 
              name="Microsoft.Windows.SampleAssembly" 
              processorArchitecture="x86" 
              publicKeyToken="0000000000000000"/>
          <bindingRedirect 
              oldVersion="2.0.0.0" 
              newVersion="2.0.1.0"/>
        </dependentAssembly>
    </assemblyBinding>
   </windows>
</configuration>