CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

怎么用Vs.net制作安装程序呢?

楼主kkyydd()2005-03-01 22:20:41 在 .NET技术 / C# 提问

怎么用Vs.net制作安装程序呢? 问题点数:90、回复次数:5Top

1 楼guoweidong(※『孤独~寂)回复于 2005-03-01 22:26:47 得分 5

新建项目选择安装部署。Top

2 楼hedonister(冰戈)回复于 2005-03-01 22:32:47 得分 50

步骤:    
  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!    
  Top

3 楼hedonister(冰戈)回复于 2005-03-01 22:33:18 得分 35

主要来自于MSDN,本来代码使用vb.net,我用C#改写了一下,完整URL请参考    
  http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vsintro7/html/vxwlkWalkthroughUsingCustomActionToCreateDatabaseDuringInstallation.asp    
  另外没有接受客户数据库服务Server-Name和Password的对话框,我想既然可以接受DBNAME参数,那么接收Server-Name和Password应该也不难.Top

4 楼zzmdegm(剑心)回复于 2005-03-16 14:15:35 得分 0

upTop

5 楼YanShuai()回复于 2005-03-30 19:01:06 得分 0

to   hedonister(冰戈)  
   
  执行我从数据库生成的Sql脚本总是报错。  
  "在关键字   'CREATE'   附近有语法错误。\r\n在关键字   'CREATE'   附近有语法错误。\r\n在关键字   'CREATE'   附近有语法错误。\r\n在关键字   'CREATE'   附近有语法错误。\r\n在关键字   'CREATE'   附近有语法错误。\r\n在关键字   'CREATE'   附近有语法错误。\r\n在关键字   'CREATE'   附近有语法错误。\r\n在关键字   'CREATE'   附近有语法错误。\r\n在关键字   'CREATE'   附近有语法错误。\r\n第   93   行:   'GO'   附近有语法错误。"  
  Top

相关问题

  • 求vs flexgrid8安装程序的下载
  • 给我。NET的安装程序吧
  • ???如何用。net做反安装程序???
  • .net安装程序图标的问题
  • .net服务程序安装问题
  • 安装vc NET 2003程序的问题
  • 使用.Net开发安装程序
  • 如何安装VS。NET
  • 如何安装VS NET 2003?
  • rpm安装程序

关键词

  • vs.net
  • 语法
  • 代码
  • 数据库
  • 选择
  • sql
  • null
  • dbcustomaction
  • 添加
  • 程序

得分解答快速导航

  • 帖主:kkyydd
  • guoweidong
  • hedonister
  • hedonister

相关链接

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

广告也精彩

反馈

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