visual stutio 2005 打包部署(上)

本文介绍如何在.NET项目中集成数据库安装过程,包括创建安装项目、添加数据库操作类库、编写自定义安装对话框及设置许可协议等步骤。
1.      构建我们自己的项目(在这里我们用一个简单窗体作为我们的项目)
 
2.      在解决方案中添加一个安装项目,用以实现项目MyProject的打包安装
本来到此为止我们就可以对安装程序进行设置了,确定到底需要将哪些文件部署到目标机器上的哪些部分。但是由于实际需要,要求我们将数据库一起打包,所以我们的工作有所变化。
添加一个类库,增加一个安装程序类,重写该类的install方法,写入执行建库、建表脚本的代码。最后在安装项目Setup1中添加进此类库的主输出,于是当我们进行安装时,就会调用该类库的主输出,然后会自动执行install方法,结果就帮助我们在目标计算机上安装好我们项目所需要的数据库。
 
3.      获得建库、建表的脚本(在本机上获得需要打包的数据库的脚本,如现在打包bankDB
 
注意:现在脚本文件中只有数据库的结构,如表,列,存储过程等等,但是没有数据,所以需要我们自己手动添加插入数据的这部分SQL代码.最后保存到安装项目MyProjSetup之中.
MyProjSetup中添加该脚本文件
 
4.      在解决方案中添加类库DBAction用以实现数据库操作
删除原有类,加入安装程序类Installer1.cs.这个类的主要功能是完成安装数据库,我们在这个类里面写执行bankDB.sql脚本文件的代码.
5.      将项目MyProject的输出(以及DBClassLibrary类库的输出 )添加到部署项目MyProjSetup这里的输出将是最后在目的客户机上要安装的那些文件
右键单击MyProjSetup ---> 视图 ---> 文件系统,选择应用程序文件夹,右击,在操作菜单上,指向添加,然后选择项目输出
 
 
 
分别在主输出中选中来自DBAction类库的活动和来自MyProjectV2应用程序的活动
 
6.      创建自定义安装对话框(比如许可协议对话框)
 右键单击Setup1 ---> 视图 ---> 用户界面
 在用户界面编辑器中,选择安装下的启动节点,在操作菜单上,选择添加对话框
 右键点击文本框(A)”,选择上移,重复此操作,直到文本框(A)”位于安装文件夹节点之上
 
 
7.      添加许可协议
    许可协议是RTF格式的文件,我们可以将写好的word文档另存为RTF格式文件,然后添加到MyProjectV2应用程序中.
 
然后将我们的许可协议.rtf”文件和协议窗口关联起来,首先转到用户界面
 
LicenseFile属性的下拉框中选择浏览,然后在下一界面选中应用程序文件夹
 然后点击添加文件”,找到你自己的协议文件并添加
8.    设置文本框(A)窗口(该窗口接收用户在安装时的输入,以便接收数据库的登录名和密码等等)
 
我们将会设置文本框(A) 窗口中的4个文本框的标签名和属性值,以及文本框的名称即Edit1Property属性,供数据库安装类使用:
 文本框(A)”属性窗口中,选择BannerText属性并键入:安装数据库
 选择BodyText属性并键入:安装程序将再目标机器上安装数据库
 选择Edit1Label属性并键入:数据库名称
 选择Edit1Property属性并键入:EDITA1
 选择Edit1Value属性并键入:bankDB
 选择Edit2Label属性并键入:服务器名
 选择Edit2Property属性并键入:EDITA2
 选择Edit2Value属性并键入:(local
 选择Edit3Label属性并键入:用户名
 选择Edit3Property属性并键入:EDITA3
 选择Edit3Value属性并键入:sa(注意,这个登录用户是你的目标计算机的数据库里面存在的用户,而且他必须要具有创建数据库的权限)
 选择Edit4Label属性并键入:用户密码
 选择Edit4Property属性并键入:EDITA4
 选择Edit4Value属性并键入:123
 
 9.      创建自定义操作(给MyInstaller.cs设置参数)
 选中MyProjSetup,通过视图进入自定义操作
 安装节点的右键菜单中选择添加自定义操作
 
选择项目中的项对话框中,选中应用程序文件夹后,点击确定
 
 选择主输出来自DBClassLibrary(活动)”项,然后单击确定关闭对话框
  
    在上图主输出来自“DBClassLiabrary(活动)”属性窗口中,选择CustomActionData 属性并键入/dbname=[EDITA1]  /server=[EDITA2]  /user=[EDITA3]  /pwd=[EDITA4] /targetdir="[TARGETDIR]\", [TARGETDIR]代表的是当用户在安装项目时,所选择的目的地址,一旦确定。就会将MyProjSetup下面的文件拷贝到该路径下面,供安装使用。
使用.net打包程序时,在安装过程中用户所选择的安装路径中是不能含有空格的。为什么呢?原来是sql server osql 的执行命令行方式的时候,如果你的安装路径中含有空格的话,那个命令行是不能正确的执行的。
         



本文转自 qianshao 51CTO博客,原文链接:http://blog.51cto.com/qianshao/202496,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值