部署ASP.NET的三大技术(上) (3)

asp.net

6.2 VS.NET Web安装项目的特点

VS.NET中的部署项目以Windows Installer的功能为基础,允许我们执行如下操作:

⑴ 读取、写入注册键。

⑵ 在目标服务器的Windows文件系统中创建目录。

⑶ 提供注册组件的机制。

⑷ 提供安装期间从用户收集信息的机制。

⑸ 允许设置启动条件,例如检查用户名字、计算机名字、当前的操作系统、已经安装的软件、是否已经安装了.NET CLR,等等。

⑹ 允许在安装结束后运行自定义的配置程序或脚本。

在下面一节中,我们将了解如何用VS.NET Web安装项目来部署DeploymentExampleWebApp。

七、创建Web安装项目

首先我们在DeploymentExampleApp ASP.NET Web应用程序解决方案中创建一个Web安装程序项目:选择菜单“文件”→“新建”→“项目”,在“新建项目”对话框中,指定项目类型“安装和部署项目”,指定模板“Web安装项目”,如图五所示。

图五

创建项目之后,接下来要把ASP.NET Web应用程序的程序集和内容文件加入到安装项目。在解决方案资源管理器中右击DeploymentExampleWebAppSetup项目,选择菜单“添加”→“项目输出”,在“添加项目输出组”对话框中,“项目”一栏选择DeploymentExampleWebApp,再从列表选择“主输出”,如图六。

图六

加入了项目输出之后,接下来要把相关的内容文件(包括.aspx文件、图形文件等)加入到项目。再次打开“添加项目输出组”对话框,这一次从列表选择“内容文件”,如图七。

图七

在Web安装项目中加入了“主输出”和“内容文件”之后,解决方案资源管理器应该类如图八所示。

图八

通过Web安装项目的属性窗口可以设置许多属性,这些属性决定了Windows安装文件运行时显示的内容和行为方式。在解决方案管理器中右击DeploymentExampleWebAppSetup,选择菜单“属性”,就可以打开图九的属性设置窗口。

图九

从图九可以看出,属性窗口允许设置作者、产品描述、厂商、支持电话等信息,这些信息对于应用的最终用户来说可能非常有用。

八、安装ASP.NET Web应用程序

创建好Windows安装文件(.msi文件)之后,再到目标服务器上安装ASP.NET应用就很方便了,只要在Windows资源管理器中双击.msi文件即可,这时安装向导启动,引导用户完成安装过程。图十显示了安装期间显示的第一个对话框。

图十

点击图十对话框的“下一步”按钮,出现图十一的对话框,在这里可以指定Web应用要安装到哪一个虚拟目录。这是VS.NET的Web安装项目最方便的特性之一,虚拟目录创建已完全自动化,根本不需要用户手工操作。在本文的第二部分中,我们将看到如何在安装过程中设置虚拟目录的特殊属性,例如目录安全性等。

图十一

在图十一的对话框中,我们可以点击“磁盘开销”按钮了解安装该Web应用程序所需的磁盘空间。点击“下一步”,出现图十二的对话框,向导要求我们确认安装。

图十二

如果在图十二的对话框中点击“下一步”,安装操作正式开始,应用程序被安装到Web服务器上。如果应用程序安装成功,出现图十三的对话框。

图十三

安装好应用程序后,从控制面板的“添加或删除程序”窗口可以看到刚才安装的ASP.NET应用程序,以后,我们可以随时从这里卸载刚才安装的ASP.NET Web应用。

九、结束语

XCOPY和“复制项目”都是不错的部署技术,主要的特点是简单,但需要一些手工操作。它们非常适合安装过程比较简单的应用,但在有些情况下,我们需要在安装过程中执行更加复杂的操作,这时最好利用Windows Installer技术来部署应用。用Windows Installer来部署ASP.NET Web应用具有下列优点:

⑴ 如果用Windows Installer安装的应用被损坏,可以通过Windows安装包的修复功能自我修复。如果采用其他部署方式,损坏的组件必须手工替换。

⑵ 使用Windows Installer技术时,我们还可以利用自动回退功能的优势。当安装过程失败时,自动回退功能不仅确保已安装的组件被正确删除,而且保证了机器能够恢复到安装程序启动之前的状态。

⑶ 由于Windows Installer用一个.msi安装数据库保存所有的安装信息,所以有可能获取复制了哪些文件、创建了哪些注册键之类的信息。

⑷ 如果ASP.NET应用要分发给多个用户使用(或者将软件打包销售),一种方便、自动化的部署机制是必不可少的,象XCOPY部署这样的手工操作显然是不合适的。如果使用Windows Installer这种成熟、强大的安装技术,整个安装过程都可以自动化,极大地简化应用部署。

这一部分文章示范了封装和部署ASP.NET Web应用的各种方式,介绍了如何利用Windows Installer技术的优势,以及创建.msi的具体过程。在本文的下一部分中,我们将在前面Windows Installer示例的基础上,增添各种高级功能,诸如定制安装对话框及其出现次序,以及安装过程中如何加入注册键、创建定制文件夹,等等。

时间: 2024-11-01 22:04:52

部署ASP.NET的三大技术(上) (3)的相关文章

部署ASP.NET的三大技术(上) (1)

asp.net 提纲: 一.概述 二.ASP.NET Web应用的结构 三.ASP.NET支持的部署机制 四.用XCOPY命令部署 五.用VS.NET的"复制项目"功能部署 六.用Web安装项目部署 6.1 Windows安装程序 6.2 VS.NET Web安装项目的特点 七.创建Web安装项目 八.安装ASP.NET Web应用程序 九.结束语 正文: 一.概述 在深入到配置和部署ASP.NET Web应用程序的具体步骤之前,理解配置(Setup)和部署(Deployment)之间

部署ASP.NET的三大技术(下) (3)

asp.net 除了"启动画面"对话框之外,用户界面编辑器还提供了许多其他预定义的对话框,例如"许可协议"."自述文件"."注册用户"."客户信息"等,这些对话框都可以利用图五的"添加对话框"窗口直接加入. 八.部署IIS配置信息 在准备部署ASP.NET应用程序的时候,一个必须考虑的重要问题是如何在部署应用的同时部署IIS的配置信息.如果用直接复制的方法部署Web应用,例如用XCOPY

部署ASP.NET的三大技术(上) (2)

asp.net 五.用VS.NET的"复制项目"功能部署 VS.NET的"复制项目"功能使我们能够非常轻松地把ASP.NET Web应用部署到目标服务器.这个功能既可以把Web项目复制到同一服务器,也可以复制到不同的服务器. 如果你用VS.NET开发Web应用程序,发布Web应用之前要做的第一件事情是把"活动的解决方案配置"从Debug改成Release,如图三所示,这个选项不仅使编译器优化代码,而且删除所有与调试有关的符号信息,使代码运行速度更

部署ASP.NET的三大技术(下) (1)

asp.net 提纲: 一.不同类型的部署编辑器 二.文件系统编辑器 三.注册表编辑器 四.文件类型编辑器 五.自定义操作编辑器 六.启动条件编辑器 七.用户界面编辑器 八.部署IIS配置信息 九.VS.NET安装项目 VS. 其他部署方案 正文: 在本文的第一部分中,我们看到了如何用各种不同的方式来部署一个ASP.NET Web应用,包括XCOPY部署.VS.NET的"复制项目"功能.VS.NET的Web安装项目.在这一部分,我们将了解如何利用VS.NET Web安装项目提供的功能,

部署ASP.NET的三大技术(下) (2)

asp.net 文件类型编辑器允许设置的属性 属性 作用 Name 为该类文件指定一个类型名称. Command 用户对该类文件执行操作时应当启动的应用程序 Extensions 指定该类文件的扩展名 Icon 指定该类文件的图标. Description 有关该类文件的简短描述 五.自定义操作编辑器 允许在安装时运行其他程序.自定义操作的运行顺序与它们在编辑器中的显示顺序相同.可通过鼠标拖动或使用"编辑"菜单上的"剪切"和"粘贴"命令将自定义操

ASP.NET新手教程:技术上的认识误区

.net如今已经很流行,成为赶时髦的程序员的首选.但是,大量刚刚接触.net的程序员的确存在一定的认识误区,这里先介绍一部分. 一..net程序再运行一次就会更快 许多人对此的解释是:.net程序第一次运行时会被编译成本地代码,所以再次运行会更快.但遗憾的是,其实每次运行,那些IL都会被翻译一次,不会保留下来.所以并不会变快.但为什么有时候真的觉得快了呢?其实所有程序都是这样,这是Windows再为你缓存用过的组件.真正需要CPU时间的程序,多运行是不会加快速度的. 二..net程序运行起来一定

一起谈.NET技术,在Mono 2.8上部署ASP.NET MVC 2

我们知道Mono 2.8对ASP.NET MVC 2的完全支持,下面我们就来测试下在Mono 2.8上部署ASP.NET MVC 2应用程序.我的环境是Opensuse 11.3,通过以下命令部署好Mono 2.8的开发环境,之所以说是开发环境是同时会更新MonoDevelop,支持Mono2.8的程序开发: zypper addrepo http://ftp.novell.com/pub/mono/download-stable/openSUSE_11.3 mono-stable zypper

在虚拟主机上部署ASP.NET AJAX 1.0 Beta的程序集

ajax|asp.net|程序|虚拟主机 由于ASP.NET AJAX 1.0 Beta将所需的程序集注册到了GAC中,因此有朋友担心无法在虚拟主机上部署ASP.NET AJAX了(总不见得让服务商在GAC中安装那些程序集吧).其实解决这个问题的方法非常简单.由于ASP.NET在搜索GAC之前,会首先在Bin目录中查找所需的程序集,因此只需简单地将所需的程序集复制到Web Site的Bin目录下即可. 当然,这只是部署ASP.NET AJAX 1.0程序集的方式,并不排除由于虚拟主机上的设置导致

百度ueditor编辑器部署ASP网站错误:百度编辑器ueditor部署服务器,浏览网页用户无法上传文件。

问题描述 报错信息:(本地能上传文件)--百度ueditor编辑器部署ASP网站错误POSThttp://www.by96.com/admin/ueditor/asp/controller.asp?action=uploadfile&encode=utf-8500(InternalServerError)webuploader.min.js:2b.register.sendwebuploader.min.js:2d.execwebuploader.min.js:1execwebuploader.