独立的应用程序

独立应用程序是随 清单一起安装的自描述应用程序。 独立应用程序可以使用 专用程序集共享程序集

如果应用程序的所有组件都是共享 的并行程序集 或专用程序集,则将其视为完全隔离。 如果它使用一些不是并行程序集的组件,则它被称为部分隔离。 请注意,如果应用程序使用某些不是并行程序集的组件,或使用专用程序集,则应用程序可能会受到系统上其他应用程序的安装或删除的影响。 有关详细信息,请参阅 并行程序集共享

出于以下原因,建议开发人员设计独立应用程序并将现有应用程序更新为独立应用程序:

  • 独立应用程序更稳定且更新可靠,因为它们不受系统上其他应用程序的安装、删除或升级的影响。
  • 可以设计独立应用程序,使其始终使用生成和测试它们的相同程序集版本运行。
  • 独立应用程序可以使用 Microsoft 提供的并行程序集提供的功能。 有关详细信息,请参阅 支持的 Microsoft 并行程序集
  • 独立应用程序不与其并行程序集的寄送计划相关联,因为应用程序和管理员可以在部署后更新配置,而无需重新安装应用程序。 这不适用于只有一个版本的程序集可用的情况。
  • 可以使用 xcopy 命令安装完全隔离的应用程序。 Windows Installer 还可用于安装独立应用程序,而不会影响注册表。 有关详细信息,请参阅 安装 Win32 程序集

在某些情况下,现有应用程序可以更新为独立的应用程序,而无需重写应用程序代码。 可以创建 一个应用程序清单 ,用于描述应用程序对 并行程序集的依赖关系。 如果应用程序使用的组件不是并行程序集,则这些组件可以部署为 专用程序集。 请注意,使用第三方组件执行此操作的可能性可能取决于许可,因为组件需要作为程序集进行创作。 例如,通过创建应用程序清单并指定对 COMCTL32) (并排公共控件的依赖,在 Windows XP 上运行的应用程序可以利用 Windows 主题。 应始终测试应用程序,以确保它与新版本的 COMCTL32 程序集兼容。

可能无法将每个现有应用程序更新为完全隔离的应用程序。 例如,某些 Windows 文件保护 (WFP) 系统程序集不能作为并行程序集提供,并且不能随应用程序一起作为专用程序集进行安装。 通过在应用程序清单中为某些应用程序程序集指定并行程序集依赖项,可以部分隔离此类应用程序。