C#打包和部署 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

1.      构建我们自己的项目(在这里我们用一个简单窗体作为我们的项目)

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

visual stutio 2005 打包部署(上) 

2.      在解决方案中添加一个安装项目,用以实现项目MyProject的打包安装

visual stutio 2005 打包部署(上)
visual stutio 2005 打包部署(上)
本来到此为止我们就可以对安装程序进行设置了,确定到底需要将哪些文件部署到目标机器上的哪些部分。但是由于实际需要,要求我们将数据库一起打包,所以我们的工作有所变化。

添加一个类库,增加一个安装程序类,重写该类的install方法,写入执行建库、建表脚本的代码。最后在安装项目Setup1中添加进此类库的主输出,于是当我们进行安装时,就会调用该类库的主输出,然后会自动执行install方法,结果就帮助我们在目标计算机上安装好我们项目所需要的数据库。

 

3.      获得建库、建表的脚本(在本机上获得需要打包的数据库的脚本,如现在打包bankDB

visual stutio 2005 打包部署(上)

 
visual stutio 2005 打包部署(上)
注意:现在脚本文件中只有数据库的结构,如表,列,存储过程等等,但是没有数据,所以需要我们自己手动添加插入数据的这部分SQL代码.最后保存到安装项目MyProjSetup之中.

visual stutio 2005 打包部署(上)

MyProjSetup中添加该脚本文件

 visual stutio 2005 打包部署(上)

4.      在解决方案中添加类库DBAction用以实现数据库操作

删除原有类,加入安装程序类Installer1.cs.这个类的主要功能是完成安装数据库,我们在这个类里面写执行bankDB.sql脚本文件的代码.

visual stutio 2005 打包部署(上)

5.      将项目MyProject的输出(以及DBClassLibrary类库的输出 )添加到部署项目MyProjSetup, 这里的输出将是最后在目的客户机上要安装的那些文件

右键单击MyProjSetup ---> 视图 ---> 文件系统,选择应用程序文件夹,右击,在操作菜单上,指向添加,然后选择项目输出

 

visual stutio 2005 打包部署(上) 

 
visual stutio 2005 打包部署(上)
分别在主输出中选中来自DBAction类库的活动和来自MyProjectV2应用程序的活动

visual stutio 2005 打包部署(上) 

6.      创建自定义安装对话框(比如许可协议对话框)

 右键单击Setup1 ---> 视图 ---> 用户界面

 在用户界面编辑器中,选择安装下的启动节点,在操作菜单上,选择添加对话框

visual stutio 2005 打包部署(上)

visual stutio 2005 打包部署(上)
 右键点击文本框(A)”,选择上移,重复此操作,直到文本框(A)”位于安装文件夹节点之上

 visual stutio 2005 打包部署(上)

 

7.      添加许可协议

    许可协议是RTF格式的文件,我们可以将写好的word文档另存为RTF格式文件,然后添加到MyProjectV2应用程序中.

visual stutio 2005 打包部署(上) 

然后将我们的许可协议.rtf”文件和协议窗口关联起来,首先转到用户界面

visual stutio 2005 打包部署(上) 

visual stutio 2005 打包部署(上)
LicenseFile属性的下拉框中选择浏览,然后在下一界面选中应用程序文件夹

visual stutio 2005 打包部署(上)
 然后点击添加文件”,找到你自己的协议文件并添加

visual stutio 2005 打包部署(上)

8.    设置文本框(A)窗口(该窗口接收用户在安装时的输入,以便接收数据库的登录名和密码等等)

visual stutio 2005 打包部署(上) 

我们将会设置文本框(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

visual stutio 2005 打包部署(上) 

 

9.      创建自定义操作(给MyInstaller.cs设置参数)

 选中MyProjSetup,通过视图进入自定义操作

 安装节点的右键菜单中选择添加自定义操作

 visual stutio 2005 打包部署(上)

visual stutio 2005 打包部署(上)
选择项目中的项对话框中,选中应用程序文件夹后,点击确定

visual stutio 2005 打包部署(上) 

 选择主输出来自DBClassLibrary(活动)”项,然后单击确定关闭对话框

 visual stutio 2005 打包部署(上)

 

    在上图主输出来自“DBClassLiabrary(活动)”属性窗口中,选择CustomActionData 属性并键入/dbname=[EDITA1]  /server=[EDITA2]  /user=[EDITA3]  /pwd=[EDITA4] /targetdir="[TARGETDIR]\", [TARGETDIR]代表的是当用户在安装项目时,所选择的目的地址,一旦确定。就会将MyProjSetup下面的文件拷贝到该路径下面,供安装使用。

使用.net打包程序时,在安装过程中用户所选择的安装路径中是不能含有空格的。为什么呢?原来是sql server osql 的执行命令行方式的时候,如果你的安装路径中含有空格的话,那个命令行是不能正确的执行的。visual stutio 2005 打包部署(上)

         visual stutio 2005 打包部署(上)

(未完待续)