使用 Windows Installer 和 .msi 程序包文件格式,软件安装与删除将更加可靠和具有弹性。Windows Installer 还提供更多安装选项。Windows Installer 执行以下任务:

  • 安装失败后恢复原始计算机状态,Windows Installer 跟踪在应用程序安装过程中对系统所做的所有更改。如果安装失败,Windows Installer 能重新恢复系统,或者使系统返回到初始状态。
  • 帮助阻止应用程序间冲突,Windows Installer 加强了安装规则,这有助于阻止现有应用程序在共享资源时产生冲突。当安装操作更新现有应用程序共享的动态链接库 (.dll) 时,或某个操作删除其他应用程序共享的动态链接库时,会导致这样的冲突。
  • 安全地删除现有程序,Windows Installer 可以安全地卸载以前安装的任何程序。除被其他已安装软件共享使用的内容之外,它将删除所有关联的注册表项和应用程序文件。成功地安装应用程序之后,可在任何时候卸载。(删除不能和“返回”功能混淆,后者是在安装失败时将计算机恢复到初始状态)。
  • 诊断和修复损坏的应用程序,应用程序可以查询 Windows Installer,以确定安装的应用程序是否具有丢失或损坏的文件。如果检测到任何丢失或损坏的文件,Windows Installer 通过重新复制那些丢失或损坏的文件修复该应用程序。
  • 支持按照需要安装应用程序的功能,Windows Installer 可配置为最初只安装应用程序的最小子集。以后,当用户第一次访问需要其他组件的功能时,将自动安装其他组件。这称作“公布”。例如,Windows Installer 可以安装功能最少的 Microsoft Word。当用户第一次访问邮件合并功能时(在原始安装中未包括此功能),Windows Installer 将自动安装邮件合并组件。同样,Windows Installer 还可以清除应用程序中不使用的组件。例如,可以将 Windows Installer 配置为,如果邮件合并组件 60 天不用,则删除该组件。
  • 支持无人参与的应用程序安装,安装程序包可配置成安装过程中无需与用户进行交互。在安装过程中,Windows Installer 可以向计算机查询桌面属性,包括确定应用程序是否以前都被 Windows Installer 安装过。
  • 支持 32 位和 64 位的应用程序,32 位应用程序可以安装在 64 位的计算机上。
  • 支持 Microsoft .NET Framework,Microsoft .NET Framework 是新的、可生成集成的、面向服务的应用程序的平台,这些应用程序从多种类型源中获得信息并与源交互,而不管正在使用的平台或者语言。.NET Framework 和公共语言运行库可提供一次编写、一次编译、任意位置运行的应用程序开发。具体地讲, .NET Framework 可以提供代码重新使用、代码规范化、资源管理、多语言开发、安全、部署和管理。
  • 与并排组件集成,此功能通过允许将基于组件版本设计和测试的应用程序绑定到该版本组件,从而消除了 .dll 版本冲突,而不管使用该应用程序的计算机如何。并排组件支持同时执行每个组件的多个版本。
  • 与软件限制策略集成,此功能提供了防病毒支持,包括防止通过电子邮件和 Web 传播特洛伊木马病毒和蠕虫病毒。软件限制策略使执行简单点击、上下文活动频繁的用户感到安全。组策略使该策略作为受信的应用程序列表的一部分来执行,Windows Installer 使用这些软件限制策略允许的应用程序进行操作。