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

--------------------------------------------------------------------------------
转自:http://www.cdown.net/info/34287.html

利用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框架引导程序插件。这个插件可以从微软的网站上下载,下载地址如下:
http://www.microsoft.com/downloads/details.aspx?familyid=627921a0-d9e7-43d6-a293-72f9c370bd19&displaylang=en
2.在"解决方案资源管理器"中,用鼠标右键单击安装和部署项目,在弹出的菜单中选择"视图"->"启动条件",打开"启动条件"管理器。
3.在"启动条件"管理器中,右键点击"目标计算机上的要求",在弹出的的菜单中选择"添加注册表启动条件"。你会发现在"搜索目标计算机"中多了一项"搜索 RegistryEntry1",在"启动条件"中多了一项"Condition1"。
4.选择"搜索 RegistryEntry1",在"属性"对话框中填写如下内容:
Property:MDACSEARCH
RegKey:Software\Microsoft\DataAccess
Root:vsdrrHKLM
Value:FullInstallVer
选择"Condition1" ,在"属性"对话框中填写如下内容:
Condition:MDACSEARCH>="2.6"
进行这一步是因为在安装.NET框架的时候需要MDAC。

OK,现在编译安装和部署项目,就得到了一个可以同时安装.NET框架的安装程序。

用VS.NET2003制作WEB应用程序的安装包相关推荐

  1. inno setup打包的安装包如何在卸载完程序后可以继续安装_这两个方法就够了!快速制作Python程序Windows安装包...

    点击关注州的先生 编程应用.实战教程,不容错过 /00/ 前言 我们使用Python可以编写很多提高工作和学习效率的小工具,在编写完之后,如果我们想将其分享给更多的人使用,那么最便捷的方法就是将其打包 ...

  2. 制作AE(ArcGIS Engine 打包)开发的应用程序的安装包

    利用InstallShield制作AE(ArcGIS Engine 打包)开发的应用程序的安装包 以下是个人学习的一些心得,由于本人对InstallShield也是刚刚接触,可能有些地方不是那么合理, ...

  3. 利用InstallShield制作AE(ArcGIS Engine 打包)开发的应用程序的安装包

    原文:http://blog.csdn.net/swfcsunboy/article/details/2314249 利用InstallShield制作AE(ArcGIS Engine 打包)开发的应 ...

  4. 使用VS 2019制作桌面程序的安装包

    使用VS 2019制作桌面程序的安装包 前言 文章中是以.NET 平台下使用C#语言开发的WinForm桌面程序为例,说明安装包制作流程.但根据官方文档的说明,Windows下的其他语言(C++/VB ...

  5. 使用WiX制作具有时间限制的安装包

    最近研究了一下如何使用WiX制作具有时间限制的安装包,下图是demo的效果图. 完成这个demo主要有两点值得注意: 1. 选择合适的脚本语言(VBScript or JScript)实现定制操作. ...

  6. 获取Android手机已安装应用程序的安装包

    手把手教你获取Android手机已安装应用程序的安装包 前言: 某天临时访问了一个网址然后下载了一个APP,过了一段时间想要将这个APP安装在其他手机上面或者是介绍给其他小伙伴安装的时候发现该应用在应 ...

  7. 发布文件打包springboit_程序安装包咋制作的?Qt程序打包三部曲,从应用程序到安装包...

    前言 本章节主要是讲解下如何打包Qt程序.Qt使用自带的windeployqt 处理依赖库生成exe来发布软件. 准备exe 1.程序要想发布,在编译器编译一定要选择"release&quo ...

  8. python飞机大战源代码-制作python程序windows安装包(飞机大战源码)

    本文以飞机大战源码为例: 1.首先使用pyinstaller -w xxx.py打包 -w的意思是不显示命令行:飞机大战源码由多个.py文件以及一些图片,音乐文件组成,我们将main.py打包, 其他 ...

  9. 打桥位程序lisp_【下载】借花献佛,AutoLISP程序的安装包制作,感谢秋枫大侠的程序...

    Setup.ini配置详解 本文用于不使用向导设置ini文件的高级用户自定义的场合.可以用向导设置基本的参数,然后参照本文作进一步的自定义.利用向导中的安装包维护功能,可以解开或重新打包AutoCAD ...

最新文章

  1. javax.mail API
  2. linux系统python截图不显示中文_Linux运维知识之解决linux系统下python中的matplotlib模块内的pyplot输出图片不能显示中文的问题...
  3. 设置按峰值带宽计费_腾讯云服务器按流量计费带宽值大小设置说明
  4. 【STM32】FSMC相关函数和类型
  5. VisualStudio.gitignore git 忽略
  6. 作者:吴章生(1980-),男,中国科学院计算机网络信息中心工程师;张杨(1982- ),男,中国科学院计算机网络信息中心工程师...
  7. 城市路(信息学奥赛一本通-T1381)
  8. 云图说丨初识数据工坊DWR
  9. mysql5.5备份数据库_mysql5.5数据库备份
  10. php 网页加背景音乐,网站背景音乐实现方法_HTML/Xhtml_网页制作
  11. 从客户需求开始你的供应链管理战略
  12. 美光称对华为恢复部分芯片出货 股价一度上涨10%
  13. Win11包含APPX驱动重装及备份教
  14. 《微积分:一元函数微分学》——费马定理
  15. 《伟大是熬出来的》冯仑与年轻人闲话人生之一
  16. 计算机添加本地安全组用户名和密码错误,u租号总是密码错误-共享用户名和密码正确总提示错误...
  17. 广州移动MGV3001_ZG_S905L3_UWE5621DS_线刷固件包
  18. 下半年软考已经考完了,有没有对答案的同学呀
  19. Python教程 - Django
  20. 【网站密码管理不用愁】基础篇 • 利用selenium构建网站密码管理和自动登录神器

热门文章

  1. Python开发【第十一篇】:JavaScript
  2. 小朋友学数据结构(3):二叉树的建立和遍历
  3. 【转】void及void指针的深刻解析
  4. js-比较两个日期的大小
  5. 央行变相降准祭出又一新手段 引发同业套利之忧
  6. ant的设置properties
  7. SQL Lite on NHibernate
  8. [Silverlight]奇技银巧系列-5 捕获路由事件
  9. c#子线程和主线程创建窗体时顶层显示的区别
  10. Qt连接数据库的方法