Windows Installer 安装和移除称为 Windows Installer 组件的资源块。 有关详细信息,请参阅核心表组和组件和功能。
在本部分中,会将记事本示例使用的组件的相关信息添加到在导入空白数据库中创建的 Component 表中。 有关详细信息,请参阅将应用程序组织到组件中和定义安装程序组件。
记事本示例使用 8 个组件来控制资源。
| 组件 | 资源 |
|---|---|
| Baseball | Baseball.txt、sBaseball |
| 音乐会 | Concert.txt、sConcert |
| Dance | Dance.txt、sDance |
| Football | Football.txt、sFootball |
| 帮助 | Help.txt、sHelp |
| 1 月 | January.txt、sJanuary |
| NewYears | NewYears.txt、sNewYears |
| 记事本 | Redpark.exe、Readme.txt、sReadme、sNotepad、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Notepad Sample |
每个组件都应使用唯一的组件 ID GUID 进行标识。 如果要重现示例,请不要重复使用下表中的相同组件 ID GUID。 请改为使用 Guidgen.exe 等实用工具为组件生成新的 GUID。
请确保使用与 Windows Installer GUID 数据类型一致的 GUID 字符串。 有关详细信息,请参阅更改组件代码和如果违反组件规则会怎么样?
使用 Orca 或其他数据库编辑器将以下数据输入 MNP2000.msi 的空白 Component 表。 请勿重复使用示例中 ComponentId 列中如下所示的 GUID。
| 组件 | ComponentId | Directory_ | 特性 | 条件 | Keypath |
|---|---|---|---|---|---|
| Baseball | {F54ABAC0-33F2-11D3-91D7-00C04FD70856} | SPORTDIR | 2 | Baseball.txt | |
| 音乐会 | {76FA7A80-33F6-11D3-91D8-00C04FD70856} | ARTSDIR | 2 | Concert.txt | |
| Dance | {CCF834A1-33F8-11D3-91D8-00C04FD70856} | ARTSDIR | 2 | Dance.txt | |
| Football | {CCF834A0-33F8-11D3-91D8-00C04FD70856} | SPORTDIR | 2 | Football.txt | |
| 帮助 | {AD10EB50-33C1-11D3-91D6-00C04FD70856} | NOTEPADDIR | 2 | Help.txt | |
| 1 月 | {CF0BC690-33C9-11D3-91D6-00C04FD70856} | MONDIR | 2 | January.txt | |
| NewYears | {A42D9140-33D8-11D3-91D6-00C04FD70856} | HOLDIR | 2 | NewYears.txt | |
| 记事本 | {19BED232-30AB-11D3-91D3-00C04FD70856} | NOTEPADDIR | 2 | Redpark.exe |
每个组件的源目录和目标目录由输入到 Directory_ 列中的值指定。 安装程序使用 Directory 表中的信息解析此目录的位置。 安装程序使用 KeyPath 列中指定的键路径文件来检测每个组件。 示例中会设置远程执行属性,以便组件可从源运行或在本地运行。