CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
【经验总结】不能实施并行处理的情况 浅谈并行编程中的任务分解模式
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  VB.NET

asp.net.Web应用程序怎么生成setup.exe安装程序呢?在线等!!!

楼主songfengerer()2003-10-02 12:56:51 在 .NET技术 / VB.NET 提问

有二个问题:  
  1、asp.net.Web应用程序怎么生成setup.exe安装程序呢?  
        请说明一下具体步骤。  
  2、在自己机子上开发的asp.net.web项目,用的是sql   server数据库,如果安装到服务器,必须更改所有的sqlconnection对象的connectionstring属性,特麻烦,怎么能让程序自动识别服务器名称,自动给connectionstring赋值呢?  
      (我现在办法是定义一个public常量   connStr,在每个页面的load事件中都加:  
          sqlconnection1.connectionstring=connStr。这样程序安装到别的服务器上,只需要更改一次connStr常量即可,有没有更简单的方法啊?????)  
  问题点数:0、回复次数:2Top

1 楼freecs(北狼)回复于 2003-10-02 13:52:04 得分 0

重点介绍如何在安装包中自动为客户创建数据库    
   
  步骤:    
  1、添加一个新项目->选择类库模板->命名为DBCustomAction    
  2、单击项目右键->添加新项->选择安装程序类(命名为DBCustomAction.cs)    
  3、在服务器资源管理器中添加->连接到数据库->指定用户密码(选择允许保存密码)->数据库选择master    
  4、切换到DBCustomAction.cs的视图状态->将服务器资源管理器数据库连接中的master.dbo拖动到designer中    
  5、添加一个新项sql.txt(注意要使用小写),输入下列sql代码    
  CREATE   TABLE   [dbo].[MK_Employees]   (    
  [Name]   [char]   (30)   COLLATE   SQL_Latin1_General_CP1_CI_AS   NOT   NULL   ,    
  [Rsvp]   [int]   NULL   ,    
  [Requests]   [nvarchar]   (4000)   COLLATE   SQL_Latin1_General_CP1_CI_AS   NULL      
  )   ON   [PRIMARY];    
   
  ALTER   TABLE   [dbo].[MK_Employees]   WITH   NOCHECK   ADD      
  CONSTRAINT   [PK_MK_Employees]   PRIMARY   KEY   CLUSTERED      
  (    
  [Name]    
  )   ON   [PRIMARY];    
  (P.S:也可以直接用SqlServer导出)    
   
  6、在sql.txt的右键属性中->生成操作->嵌入的资源    
  7、将DBCustomAction.cs切换到代码视图,添加下列代码    
  private     string   GetSql(string   Name)    
              {    
                    try    
                    {    
                          Assembly   Asm   =   Assembly.GetExecutingAssembly();    
                          Stream   strm   =   Asm.GetManifestResourceStream(Asm.GetName().Name   +   "."+Name);    
                          StreamReader   reader   =   new   StreamReader(strm);    
                          return   reader.ReadToEnd();    
                    }    
                    catch   (Exception   ex)    
                    {    
                          Console.Write("In   GetSql:"+ex.Message);    
                          throw   ex;    
                    }    
              }    
   
              private   void   ExecuteSql(string   DataBaseName,string   Sql)    
              {    
                    System.Data.SqlClient.SqlCommand   Command   =   new   System.Data.SqlClient.SqlCommand(Sql,sqlConnection1);    
   
                    Command.Connection.Open();    
                    Command.Connection.ChangeDatabase(DataBaseName);    
                    try    
                    {    
                          Command.ExecuteNonQuery();    
                    }    
                    finally    
                    {    
                          Command.Connection.Close();    
                    }    
              }    
   
   
              protected   void   AddDBTable(string   strDBName)    
              {    
                    try    
                    {    
                          ExecuteSql("master","CREATE   DATABASE   "+   strDBName);    
                          ExecuteSql(strDBName,GetSql("sql.txt"));    
                    }    
                    catch(Exception   ex)    
                    {    
                                Console.Write("In   exception   handler   :"+ex.Message);    
                    }    
              }    
   
              public   override   void   Install(System.Collections.IDictionary   stateSaver)    
              {    
                      base.Install(stateSaver);    
                            AddDBTable(this.Context.Parameters["dbname"]);    
              }    
   
   
  8、再添加一个新项目,(选择添加到解决方案中)->项目类型为安装项目->命名为DBCustomAction   Installer    
  9、选择应用程序文件夹->添加->项目输出->主输出    
  10、在方案资源管理器中->右键安装项目(DBCustomAction   Installer)->视图->用户界面    
  11、选中启动结点->添加对话框->文本A    
  12、选动文本框A->右键->上移一直到最顶端    
  13、选择文本框A属性->修改BannerText,(Specify   Database   Name)    
  14、修改BodyText(This   dialog   allows   you   to   specify   the   name   of   the   database   to   be   created   on   the   database   server.   )    
  15、修改EditLabel1(Name   of   DB),修改Edit1Porperty(CUSTOMTEXTA1),将其他Edit2,3,4的Edit(2,3,4)Visible属性设为false;    
  16、在方案资源管理器中->右键安装项目(DBCustomAction   Installer)->视图->自定义操作    
  17、选中安装结点->添加->双击应用程序文件夹->主输出来自DBCustomAction(活动)->右键属性->CustomActiveData属性修改为/dbname=[CUSTOMTEXTA1]    
  18、编译生成,OK!    
   
  注:此文章主要来自于MSDN,本来代码使用vb.net,我用C#改写了一下,完整URL请参考    
  http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vsintro7/html/vxwlkWalkthroughUsingCustomActionToCreateDatabaseDuringInstallation.asp    
  Top

2 楼songfengerer()回复于 2003-10-03 10:14:36 得分 0

谢谢,还有高手指点吗?:))Top

相关问题

  • WEB应用程序安装问题
  • ASP。NET WEB应用程序
  • 【求助】WEB 应用程序安装出问题啊?求救啊
  • 创建asp web应用程序问题
  • 为什么我的 VS 2003。NET安装好后,可以新建ASP。NET WEB应用程序,然后过后一些时间不用,却说我的asp.net服务器版本不是1.1
  • 请问ASP的WEB应用程序可以升级为ASP.NET的WEB应用程序么,如何升级
  • .NET平台下WEB应用程序的部署(安装数据库和自动配置)
  • 请问各位.net高手,为什么我新安装的VS.net不能新建Web应用程序?
  • 为什么我安装了iis可是新建vb.net的asp.net web应用程序还是有错阿?
  • 为什么我安装了iis可是新建vb.net的asp.net web应用程序还是有错阿?

关键词

  • asp.net
  • 数据库
  • 服务器
  • 安装
  • 项目
  • 选择
  • sql
  • null
  • 程序
  • dbcustomaction

得分解答快速导航

  • 帖主:songfengerer

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
惹火投票。。火热进行中...
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
CSDN网站24小时值班电话:13552009689
Copyright © 2000-2009, CSDN.NET, All Rights Reserved
GongshangLogo