MsiAssembly 表

MsiAssembly 表指定Microsoft .NET Framework 程序集和 Win32 程序集的 Windows Installer 设置。 有关详细信息,请参阅 将程序集安装到全局程序集缓存 和 win32 程序集 安装。

在 Windows XP 上,Windows Installer 可以将 Win32 程序集安装为 并行程序集。 有关详细信息,请参阅 并行程序集 API

Windows 2000: 不支持此功能。

MsiAssembly 表具有以下列。

类型 钥匙
元件_ 标识符 Y N
特征_ 标识符 N N
File_Manifest 标识符 N Y
File_Application 标识符 N Y
属性 整数 N Y

 

Component_

组件表的键,指定包含此程序集的 Windows Installer 组件。

此字段中的值不得设置为 null。 组件表 中的组件 KeyPath 字段不得为 null。

对于 Win32 程序集,组件 KeyPath 不能是File_Manifest中指定的清单文件。 清单可以是 .NET Framework 或策略程序集的关键路径。

Feature_

功能表中的键。

当程序集必须由功能安装安装时,Windows Installer 将安装此字段指向的功能。

File_Manifest

文件表 的外部键,指定包含 .NET Framework 程序集或 Win32 程序集清单的文件。

对于 Win32 程序集,请不要将此文件指定为 组件表的 KeyPath 字段中的组件密钥路径文件。

File_Application

若要在专用位置安装程序集,请输入此字段中程序集组件的密钥路径文件。

这是 组件表的 KeyPath 字段中显示的值。 然后,安装程序可以将程序集安装到 目录表中指定的组件的目录结构。 如果要将程序集安装到全局程序集缓存中,此字段必须为 null。

属性

输入 Win32 程序集的值为 1(一)。 输入 .NET Framework 程序集的值为 0(零)。

如果 Attributes 列为 NULL,安装程序会将程序集视为 .NET Framework 程序集。

言论

如果 MsiAssembly 表中至少有一个条目,则 InstallExecuteSequence 表 必须包含 MsiPublishAssemblies作MsiUnpublishAssemblies作

由于程序集在提交后无法回滚,因此 Windows Installer 使用双重安装过程。 程序集的接口是在 MsiPublishAssemblies作生成的安装作期间创建的。

在成功执行 InstallFinalize作之前,不会提交程序集。 这意味着,如果创作依赖于程序集的自定义作或资源,则必须在 InstallFinalize作之后对其进行排序。 例如,如果需要启动依赖于全局程序集缓存 (GAC)中的程序集的服务,则必须在 InstallFinalize作后计划该服务的启动。 这意味着不能使用 ServiceControl 表 启动服务,而必须使用在 InstallFinalize 之后排序的自定义作。

验证

ICE03
ICE06
ICE32
ICE66
ICE83
ICE94