安装和部署项目
Visual Studio 为四种类型的部署项目提供了模板:合并模块项目、安装项目、Web 安装项目和 CAB 项目。 此外,安装向导可帮助用户创建部署项目。 您可以在**“新建项目”对话框中查看模板和向导。 展开“其他项目类型”节点,选择“安装和部署项目”节点,再单击“Visual Studio Installer”**。
也可以使 InstallShield Limited Edition 创建、生成并打包 Windows 应用程序和服务。 首先,在**“新建项目”对话框中,展开“其他项目类型”节点,选择“安装和部署项目”节点,然后单击“InstallShield LE”**。
模板概述
以下准则有助于为项目选择正确的部署项目类型。
项目类型 |
用途 |
---|---|
InstallShield |
通过使用 InstallShield 2010 Limited Edition 来创建、生成并打包 Windows 应用程序和服务。 |
合并模块项目 |
将可由多个基于 Windows 的应用程序共享的组件进行打包。 可以利用“合并模块”项目将文件或组件打包到单个模块中以便于共享此模块。 产生的 .msm 文件可以包含在任何其他部署项目中。 |
安装项目 |
为基于 Windows 的应用程序生成安装程序。 安装项目的文件安装在最终用户计算机上的 Program Files 目录中。 |
Web 安装项目 |
为 Web 应用程序生成安装程序。 Web 安装项目的文件安装在 Web 服务器上的 Virtual Root 目录中。 |
CAB 项目 |
创建用于下载到早期版本的 Web 浏览器的 CAB 文件。 可以使用 CAB 项目对可以从 Web 服务器下载到 Web 浏览器的 ActiveX 组件进行打包。 |
警告
创建项目之后,不能将其类型从安装项目更改为 Web 安装项目。 如果您创建了一个安装项目,后来决定将其部署到网站中,则必须创建一个新的 Web 安装项目。
安装项目
**“安装”**项目可用于创建安装程序,以便通过 CD 或网络文件共享分发应用程序。 最终的 Windows Installer (.msi) 文件包含应用程序、任何依赖文件以及有关应用程序的信息(如注册表项和安装说明)。 当 .msi 文件在另一台计算机上分发和运行时,您就可以确信安装所需的一切都已就绪;如果安装因某种原因而失败(例如,目标计算机没有所需的操作系统版本),则将被回滚,计算机将返回到安装前的状态。
在 Visual Studio 中,有两种类型的安装项目,即**“安装”项目和“Web 安装”**项目。 **“安装”项目与“Web 安装”项目之间的区别在于安装程序的部署位置:“安装”项目将文件安装到目标计算机的文件系统中;而“Web 安装”**项目将文件安装到 Web 服务器的虚拟目录中。
此外,还提供了**“安装向导”以简化创建“安装”项目或“Web 安装”**项目的过程。
Web 安装项目
除了创建通过传统媒体分发的 Windows Installer 之外,Visual Studio 中的部署工具还支持部署到 Web 服务器。 与简单的复制文件相比,使用部署在 Web 服务器上安装文件的好处是,部署可以自动处理任何与注册和配置有关的问题。
另外,可以将用于 Windows 应用程序的安装程序部署到 Web 服务器上,以便用户以后可以从网站下载和运行它们。
若要将 Web 应用程序部署到 Web 服务器,请创建**“Web 安装”项目,生成它,将其复制到 Web 服务器计算机上,并运行安装程序以使用“Web 安装”**项目中定义的设置在服务器上安装应用程序。
提示
若要部署到 Web 服务器,您必须具备对该计算机的管理访问特权。 有关更多信息,请参见网页和项目。
此外,一些与部署有关的管理设置的行为可能不明显。 在禁用某个虚拟目录的 Internet Information Services (IIS)**“Write”属性之后,仍可将文件部署到该目录中;“Write”**属性仅可以控制用户上载文件的能力。
若要部署将从 Web 服务器下载的应用程序,请创建**“Web 安装”项目,并在“文件系统编辑器”中将应用程序的项目输出组添加到“Web 安装”**项目。 生成安装程序后,将其复制到 Web 服务器计算机上,然后可以通过 Web 浏览器从中下载安装程序。
提示
安装程序可下载并不能保证 Windows Installer 运行时文件将在用户的计算机上可用。 您应当总是在“Web 引导程序设置”对话框中指定位置,以确保运行时文件也可下载。 有关更多信息,请参见 “Web 引导程序设置”对话框。
Cab 文件项目
使用 Cab 项目,可以创建 .Cab 文件,以便对可以从 Web 服务器下载到 Web 浏览器的 ActiveX 控件进行打包。
与其他部署项目类型不同,没有提供处理 CAB 项目的编辑器。 文件和项目输出可以添加到**“解决方案资源管理器”的 Cab 项目中,属性可以在“属性”窗口或“项目属性”**页中设置。
CAB 项目的属性允许您指定压缩级别、实现 Authenticode 签名、设置显示名称和版本信息,以及指定依赖文件在 Web 上的位置。
提示
系统不计算 Cab 项目的依赖项;您必须自己确定所有依赖项并对其进行引用。
“合并模块”项目
使用**“合并模块”**项目可以创建可重用的安装组件。 与允许您在应用程序之间共享代码的动态链接库一样,合并模块允许您在 Windows Installer 之间共享安装代码。
合并模块(.msm 文件)是一个软件包,它包含安装组件所需的所有文件、资源、注册表项和安装逻辑关系。 合并模块无法单独安装,而是必须在 Windows Installer (.msi) 文件的环境内使用。 可以通过合并模块捕获特定组件的所有依赖项,从而确保安装正确的版本。 分发合并模块之后,不应再修改它,而应为组件的每个后续版本创建新的合并模块。
但建议您使用链接器或引导程序分发依赖项和系统必备组件。 有关引导程序的更多信息,请参见应用程序部署必备。