Windows Installer is a software component used for the installtion, maintenance and removal of software on modern Microsoft Windows systems.
Windows Installer 技术分为两部分:客户端安装服务 (Msiexec.exe) 和 Microsoft 软件安装 (MSI) 软件包文件。每个 MSI 软件包文件都包含一个关系类型的数据库,用于存储在各种安装方案中安装(或卸载)该程序所需的指令和数据。Windows Installer 使用软件包文件中包含的信息安装程序。在计算机上安装 Windows Installer 后,它将更改注册的 .msi 文件的文件类型,双击 .msi 文件时,将运行 Msiexec.exe,使用 Msi.dll 读取软件包 (.msi) 文件,应用任何转换 (.mst) 文件,并合并安装程序所提供的命令行选项。Installer 执行所有与安装有关的任务,包括将文件复制到硬盘、修改注册表、在桌面上创建快捷方式,以及在必要时显示对话框以提示用户输入安装首选项。
[Package]
An installation package contains all of the information that the Windows Installer requires to install or uninstall an application or product and to run the setup user interface. Each installation package includes an .msi file, containing an installtion database, a summary information stream, and data streams for various parts of the installation. The .msi file can also contain one or more transforms, internal source files, and external source files or cabinet files required by the installation.
[Feature and Component]
The Windows Installer organizes an installation around the concepts of components and features. A feature is a part of the application's total functionality that a user may decide to install independently. A component is a piece of the application or product to be installed. Components are usually hidden from the user. When a user selects a feature for installation, the installer determines which components must be installed to provide that feature. The same component can be shared among several features of the same package. Examples of components include single files, a group of related files, COM objects, regestration, registry keys, shortcuts, resources, libraries grouped into a directory, or shared pieces of code such as MFC or DAO. The installer service tracks every component by the respective component ID GUID specified in the Component table.