65.9K
CodeProject 正在变化。 阅读更多。
Home

在 InstallShield Developer 7.0 中使用程序集

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.50/5 (3投票s)

2004年10月14日

5分钟阅读

viewsIcon

62334

本文介绍了如何在 InstallShield Developer 7.0 中使用程序集。

引言

InstallShield Developer 7.0 是提供非常简单的 GUI 界面来制作同时包含 .NET 和 Side-by-Side 组件的安装程序的最佳解决方案。

InstallShield 简介

InstallShield Developer 7.0 是制作 Windows Installer 设置的最强大、最灵活的解决方案,支持应用程序自动修复和按需安装等新功能。InstallShield Developer IDE 通过抽象视图暴露了 Windows Installer 体系结构的所有功能。它还提供了一个 Windows Installer Direct Editor,允许您通过修改表来微调安装。

.NET 程序集

NET 程序集是运行时的一个核心部分。程序集是运行时执行应用程序所需的所有信息的集合。这些信息被称为元数据。程序集可以是 DLL 文件或可移植可执行 (PE) 文件。编译成可移植可执行 (PE) 文件的程序集扩展名为 AppName.exe

NET 程序集与 Windows Installer 组件有些类似,因为 .NET 程序集总是作为一个整体单元进行安装和删除。这就是为什么 Windows Installer 是安装 .NET 程序集的完美引擎,因为它们的体系结构非常相似。

创建 .NET 程序集的安装

NET 程序集可以有很多种形式。例如,我们将讨论一个简单的 .NET 程序集,它只包含一个文件,元数据嵌入在文件的头中,并假设该程序集是在 Visual Studio .NET 中创建的。NET 程序集可以本地安装到应用程序,也可以安装到全局程序集缓存(如果已适当地签名)。

这是为简单的 .NET 程序集创建组件所需的步骤:

步骤 1

在 InstallShield Developer 7.0 中创建一个新项目或打开您现有的项目。

注意:为了使您的 .NET 程序集能够正常安装,目标系统必须包含适当版本的 .NET 运行时组件。Visual Studio .NET 包含 .NET 运行时组件的合并模块。如果您要针对 Windows XP 以外的平台,请务必将此合并模块包含在您的项目中。

第二步

在“设置设计”视图中,创建一个包含您的 .NET 程序集的组件。

步骤 3

将属于该程序集的所有文件添加到组件的文件列表中。

步骤 4

在组件的“高级设置”中,右键单击“程序集”节点,然后选择“新建 .NET 程序集”。

步骤 5

选择 .NET 程序集节点后,检查其属性。您会看到您的 .DLL.EXE 已自动选为清单文件。

步骤 6

通过设置“全局缓存”属性,选择是否要将程序集安装到全局程序集缓存。

注意:您的程序集必须经过适当签名才能正确安装到全局程序集缓存。有关更多信息,请参阅 .NET 文档。

步骤 7

设置 NameVersionPublicKeyToken 属性。如果您的程序集包含其他属性,可以通过单击程序集属性列表的最后一行来添加它们。

注意:如果您的程序集没有 PublicKeyToken,您需要进入“直接编辑器”并在 MsiAssemblyName 表中删除您的程序集的 PublicKeyToken 值。

上述步骤用于为 .NET 程序集创建单个组件。对于您要处理的每个 .NET 程序集,请重复上述过程。

创建 Side-by-Side (Win32) 程序集的安装

Side-by-Side (Win32) 程序集通常由一个 Side-by-Side 可移植可执行文件(.EXE.DLL.OCX 等)及其附带的 .MANIFEST 文件组成。Side-by-Side 组件仅在 Windows XP 上以 Side-by-Side 模式运行,因此如果您打算支持早期平台,则必须特别注意为这些平台编写安装程序。Side-by-Side 组件可以配置为隔离安装到应用程序,或安装到全局程序集缓存。

这是为 Side-by-Side 程序集创建组件所需的步骤:

步骤 1

在 InstallShield Developer 7.0 中创建一个新项目或打开您现有的项目。

注意:如果您的 Side-by-Side 组件不支持早期平台,请务必在您的产品属性中创建安装条件。

第二步

在“设置设计”视图中,创建一个组件来保存您的 side-by-side 程序集。

步骤 3

将属于该程序集的所有文件添加到组件的文件列表中。

注意:如果您不设置密钥文件,InstallShield 将在下一步自动将 .MANIFEST 文件设置为密钥文件。

步骤 4

在组件的“高级设置”中,右键单击“程序集”节点,然后选择“新建 .Win32 程序集”。

步骤 5

选择 Win32 程序集节点后,检查其属性。您会看到您的 .MANIFEST 文件已自动选为清单文件。

注意:如果您计划支持早期平台,请务必在组件的“高级设置”视图的 COM 注册部分包含您的程序集中的所有 COM 数据。您还可以使用 InstallShield 的“在构建时提取 COM 信息”或“组件向导”功能来自动提取早期平台所需的 COM 数据。请注意,在 Windows XP 上,此信息将被忽略,而将使用清单数据。

步骤 6

通过设置“全局缓存”属性,选择是否要将程序集安装到全局程序集缓存。

注意:您的程序集必须经过适当签名才能正确安装到全局程序集缓存。有关更多信息,请参阅 Windows Platform SDK。

步骤 7

设置 NameTypeVersion 属性。这些值必须与程序集清单中出现的值完全一致。如果您的程序集包含其他属性,可以通过单击程序集属性列表的最后一行来添加它们。

上述步骤用于为 Side-by-Side 程序集创建单个组件。对于您要处理的每个 Side-by-Side 程序集,请重复上述过程。

© . All rights reserved.