部署应用程序
更新:2007 年 11 月
.NET Framework 可提供多个基本功能,这些基本功能可使各种应用程序的部署更加容易。其中包括 ClickOnce 部署
.NET Framework 中的部署功能
下面的 .NET Framework 基本功能可使部署更加容易:
无影响应用程序
受控的代码共享
并行版本控制
即时更新
部分受信任的代码
有关更多信息,请参见 .NET Framework 部署功能。
部署基础知识
部署是分发要安装到其他计算机上的已完成应用程序或组件的过程。在 Visual Studio 中,可以基于 Microsoft Windows Installer 技术或 ClickOnce 技术来完成部署。有关更多信息,请参见选择部署策略。
应用程序可以打包为单个程序集、程序集集合、压缩 (CAB) 文件、Microsoft Windows Installer 2.0 包或其他格式的安装程序包。有关更多信息,请参见 .NET Framework 应用程序的部署方案。
程序集是为协同工作而生成的类型和资源的集合,这些类型和资源构成了一个逻辑功能单元。程序集构成了部署、版本控制、重用、激活范围和安全权限的基本单元,它们可向公共语言运行库 (CLR) 提供实现类型所需的信息。
此表说明了常见的部署任务。
要执行的操作 |
请参见 |
---|---|
创建一个程序集 |
|
用强名称为程序集签名 |
|
为程序集签名,但推迟到以后某个时间才分配私钥 |
|
创建要在创建强名称时使用的公钥/私钥对 |
|
查看日志文件中的绑定信息 |
|
部署 Windows 窗体控件 |
|
为 COM 访问部署应用程序 |
|
部署 XML Web services |
|
部署 .NET Framework 应用程序 |
版本控制
版本控制可记录程序集的特定版本以及程序集清单中的依赖程序集的版本,且仅可对具有强名称的程序集执行版本控制。强名称程序集具有由程序集的标识、公钥和数字签名组成的标识符。
默认情况下,CLR 尝试找到并绑定构建应用程序时使用的程序集的准确版本,不过,此行为可以被配置文件设置重写。
有关更多信息,请参见 公共语言运行库中的程序集、程序集版本控制 和 具有强名称的程序集。
ClickOnce 部署
通过 ClickOnce 部署,可以将 Windows 应用程序发布到 Web 服务器或网络文件共享,从而简化安装。当您希望将 Windows 应用程序发布到网络服务器时,Visual Studio 会自动生成 ClickOnce 所需的 XML 清单文件,并会将应用程序发布到指定的服务器。
ClickOnce 应用程序是针对每位用户安装的独立应用程序,这意味着不需要管理权限。使用 ClickOnce 技术部署的应用程序在运行时具有一组有限的权限(基于安全区域)。有关更多信息,请参见 ClickOnce 部署和安全。
ClickOnce 应用程序可以自行更新;您可以控制部署更新的时间和方式。
此表显示了与 ClickOnce 部署相关的任务。
要执行的操作 |
请参见 |
---|---|
选择应用程序要使用的 ClickOnce 部署策略(从 Web 或网络共享安装、从 CD 安装,或者从 Web 或网络共享启动) |
|
选择应用程序要使用的 ClickOnce 更新策略 |
|
部署 ClickOnce 应用程序 |
|
选择在读取和写入数据时使用 ClickOnce 数据目录、独立存储还是其他本地文件 |
|
了解要成功部署应用程序所必须满足的必备条件 |
|
指定部署更新的备用位置 |
|
提升 ClickOnce 应用程序在客户端计算机上的权限级别 |
使用 ClickOnce 部署应用程序时遇到的困难可能是由于 HTTP 压缩问题、清单分析问题、服务器配置问题和版本控制问题导致的。有关更多信息,请参见 ClickOnce 部署疑难解答。
Windows Installer 部署
Microsoft Windows Installer 技术创建的安装程序可为您提供对安装过程的完全控制。
此表显示了与 Windows Installer 部署相关的任务。
要执行的操作 |
请参见 |
---|---|
分发 CD-ROM 或其他介质上的文件或应用程序 |
|
创建新的安装项目,或者将现有的部署项目添加到解决方案中 |
|
创建新的 .cab 文件用于 Web 下载,或者将现有的 .cab 文件添加到解决方案 |
|
创建组件的合并模块 |
|
将基于 Windows 的应用程序部署到其他计算机 |
|
创建自定义操作以便在安装后将一个用户发送到网站 |
|
使用自定义操作在安装期间将数据传递到某个动态属性 |
|
使用自定义操作在安装期间预编译程序集 |
|
使用自定义操作在安装期间创建数据库 |
|
创建可以重定向以面向其他 XML Web services 的 Web 应用程序 |
|
将文件和应用程序部署到 Web 服务器 |