当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 用VS.NET2003制作WEB应用程序的安装包

ASP.NET
C# Quoted-Printable编码、解码
asp.net Google的translate工具翻译 API
.NET读取所有目录下文件正则匹配文本电子邮件
asp.net 半角全角转化工具
AjaxControlToolKit 显示浏览者本地语言的方法
asp.net HTML文件上传标签
ASP.NET 绑定DataSet中的多个表
ASP.NET 重定向的几种方法小结
Asp.Net 重定向必须要知道的一些资料
ASP.NET 导出到Excel时保留换行的代码
Asp.Net Cache缓存使用代码
document.getElementsByName和document.getElementById 在IE与FF中不同实现
GridView单元格合并
asp.net 大文件上传控件
asp.net 日期函数 某月的第一天和最后一天的日期
asp.net 时间类 一周的周一和周末的日期
C# javaScript函数的相互调用
asp.net membership 密码重设
"虚拟路径"..."映射到另一个应用程序,这是不允许的!
如何传值在2个页面之间 要求不刷新父页面,并且不能用Querystring传值

ASP.NET 中的 用VS.NET2003制作WEB应用程序的安装包


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 186 ::
收藏到网摘: n/a

利用vs.net2003来制作一个安装程序是非常的方便的,既使是制作一个web应用程序的安装程序也是如此。仅仅简单的几个步骤就可以完成。

首先,创建一个安装和部署项目。步骤如下:
1.在"解决方案资源管理器"中的解决方案中添加一个新项目。
用鼠标右键单击解决方案,在弹出的菜单中选择"添加"->"新建项目"。在打开的对话框中选择"安装和部署项目",并选择"Web安装项目"模板。在输入项目名称后,点击"确定"按钮,将新项目添加到解决方案中。
2.将项目的输出添加到安装和部署项目中。
 添加完安装和部署项目后,vs.net2003 IDE会自动打开一个名为"文件系统"的管理器。用鼠标右键单击此管理器右边树型结构中的"Web应用程序文件夹",在弹出的菜单中选择"添加"->"项目输出"。在弹出的对话框中,选择"项目"(这时只有一个,就是你的web应用程序项目),然后在下面的列表中选择"主输出"和"内容文件"两项(可以复选),接着在"配置"中选择"Release .NET",点击"确定"按钮。

经过上面两个步骤,一个基本的安装和部署程序就制作完成了,将此项目编译后就得到了一个Web安装程序包。

然而,在很多的情况下,我们做的Web应用程序都要使用到数据库,能不能在安装程序的同时也将数据库一起安装呢?答案是肯定的。那该怎么做呢?这个问题李洪根先生已经解决了,具体内容可以参看下面的文章
http://blog.csdn.net/lihonggen0/archive/2004/05/17/13654.aspx
在李洪根先生的这篇文章中详尽的介绍了安装程序的制作和如何同时安装数据库。在此大致叙述如下:
1.新建一个类库项目,删除自动生成的Class.cs,重新添加一个新项。鼠标右键此项目,在弹出的菜单中选择"添加"->"添加新项",在弹出的对话框中选择"安装程序类"。
2.创建一个自定义的安装对话框。鼠标右键点击"解决方案资源管理器"中的安装和部署项目,在弹出的菜单中选择"视图"->"用户界面"。在打开的"用户界面"管理器中,鼠标右键点击"启动",在弹出的菜单中选择"添加对话框"。在打开的对话框中选择"文本框(A)"。选择"文本框(A)",在属性中,依次设置含Property属性为CUSTOMTEXT1,CUSTOMTEXT2,CUSTOMTEXT3,CUSTOMTEXT4。
3.创建自定义操作。鼠标右键点击"解决方案资源管理器"中的安装和部署项目,在弹出的菜单中选择"视图"->"自定义操作"。在打开的"自定义操作"管理器中,鼠标右键点击"安装",在弹出的菜单中选择"添加自定义操作"。在打开的对话框中,在"查找范围"中选择"Web应用程序文件夹",选择下面列表中的"主输出来自Install1(活动)"(Install1是"安装程序类"所在的项目名。如果列表中没有,可以用上面提到的"将项目的输出添加到安装和部署项目中"的方法添加)。然后在"自定义操作"管理器中选择刚添加的内容,在属性窗口中设置CustomActionData属性/dbname=[CUSTOMTEXT1] /server=[CUSTOMTEXT2] /user=[CUSTOMTEXT3] /pwd==[CUSTOMTEXT4] /targetdir="[TARGETDIR]\"
注意:每个设置内容以/分隔,且以空格分开。
4.在此类中重写Install方法,并添加下面的代码
string strConn=String.Format("data source={0};user id={1};password={2};",this.Context.Parameters["server"],this.Context.Parameters["user"],this.Context.Parameters["pwd"]);
this.ExecuteSQL(strConn,"master","CREATE DATABASE "+this.Context.Parameters["dbname"]);

System.Diagnostics.Process pSQL=new System.Diagnostics.Process();
pSQL.StartInfo.FileName="osql.exe";
pSQL.StartInfo.Arguments=String.Format(" -U {0} -P {1} -d{2} -i {3}db.sql",this.Context.Parameters["user"],
this.Context.Parameters["pwd"], this.Context.Parameters["dbname"],this.Context.Parameters["targetdir"]);
pSQL.StartInfo.WindowStyle=System.Diagnostics.ProcessWindowStyle.Hidden;
pSQL.Start();
pSQL.WaitForExit();
pSQL.Close();
这样,编译后的安装程序就可以连数据库一起安装了。

安装数据库的问题解决了,还有一个问题,那就是要使ASP.NET程序运行,一个重要的条件就是目标计算机上必须有.NET框架,那能不能在安装程序时也一同将.NET框架一块安装了呢?答案还是肯定的。具体可以参看
http://www.microsoft.com/china/MSDN/library/netFramework/netframework/
Nfdnnetdepvsredistdeploy1_1.mspx

在这篇文章中提到了几种不同的方法重新分发.NET框架,其中最简单的一种应该算是使用VS.NET2003了。大致的步骤如下:
1.安装VS.NET框架引导程序插件。这个插件可以从微软的网站上下载,下载地址如下: