使用 Windows Installer 部署运行库应用程序
更新:2007 年 11 月
Microsoft Windows Installer 2.0 可以安装和管理公共语言运行库程序集。Windows Installer 包的开发人员可以将程序集安装到全局程序集缓存中,或者安装到为特定应用程序隔离的位置上。这种隔离应用程序的改进功能是 .NET Framework 的一个重要部分。有关开发使用 Windows Installer 2.0 的包的完整信息,请参见 Windows Installer 文档。
Windows Installer 具有以下支持公共语言运行库程序集的功能:
安装、修复或移除全局程序集缓存中的程序集。
安装、修复或移除为特定应用程序指定的专用位置上的程序集。
回滚失败的程序集安装、修复或移除操作。
即需即装全局程序集缓存中具有强名称的程序集。
即需即装为特定应用程序指定的专用位置中的程序集。
修补程序集。
公布指向程序集的快捷方式。
Windows Installer 包的作者可以通过填充 MsiAssembly 和 MsiAssemblyName 表来使用这些功能。
Windows Installer 2.0 如何处理程序集
Windows Installer 将用 Microsoft .NET Framework 生成的程序集视为单个 Windows Installer 组件。组成程序集的所有文件都必须包含在 Windows Installer 组件表中列出的单个 Windows Installer 组件中。
Windows Installer 使用 .NET Framework 将程序集安装到全局程序集缓存中。在将程序集安装到全局程序集缓存中时,安装程序使用的目录结构和文件版本控制规则与安装常规 Windows Installer 组件时使用的不同。将程序集添加到全局程序集缓存中以及将其从全局程序集缓存中移除时,总是将程序集作为一个整体处理;即组成程序集的文件始终是一起安装或移除的。
Windows Installer 使用两步事务性过程来安装包含程序集的产品,这样就允许安装程序回滚失败的安装。
从全局程序集缓存中移除程序集
Windows Installer 基于独立于程序集的客户端列表,确定是否移除程序集。Windows Installer 保留一个固定位,它代表程序集的所有 Windows Installer 客户端。程序集给每个客户端维护一个固定位。安装程序为第一个 Windows Installer 客户端固定程序集;当移除最后一个 Windows Installer 客户端时,断开程序集。然后,从全局程序集缓存中删除该文件。