.NET制作有DB安装功能的安装文件:
前段时间做一个项目,因为其中数据库有许多数据是初始化的数据, 为了便于部署.于是我在制作安装程序的时候加入了 DB install的功能.
首先最好单独创建一个DB install 的Class Library的Project.
Fileà NewàProjectàVisual C# à WindowsàClass Library
然后创建一个class, 命名为DBInstall.cs. 下面就是如何在这个class 中实现DB"安装"的过程.
首先需要将 DBInstall 继承 Installer class. 还需要加上[RunInstaller(true)]的attribute.
继承
1[RunInstaller(true)]
2
3public partial class DBInstall : Installer
4
此时图标会由变为, 说明这个class 已经成为了安装的组件了.
然后就是 override Rollback, Uninstall, Install 三个方法:
Override Install Method
1 public override void Rollback(System.Collections.IDictionary savedState)
2
3 {
4
5 base.Rollback(savedState);
6
7
8
9 if (MessageBox.Show("Do you want to remove exist databases during rollback?", "Confirm", MessageBoxButtons.YesNo)
10
11 == DialogResult.Yes)
12
13 {
14
15 string dbname = "XXX"; //XXX 代表数据库名称
16
17 try
18
19 {
20
21 ExecuteSql("master", string.Format("DROP DATABASE [{0}]", dbname)); //回滚的时候删除数据库文件
22
23 }
24
25 catch
26
27 {
28
29 MessageBox.Show(string.Format("Can not delete [{0}] database. Please delete it by yourself."), dbname);
30
31 }
32
33
34
35 }
36
37 }
38
39
40
41 public override void Uninstall(System.Collections.IDictionary savedState)
42
43 {
44
45 base.Uninstall(savedState);
前段时间做一个项目,因为其中数据库有许多数据是初始化的数据, 为了便于部署.于是我在制作安装程序的时候加入了 DB install的功能.
首先最好单独创建一个DB install 的Class Library的Project.
Fileà NewàProjectàVisual C# à WindowsàClass Library
然后创建一个class, 命名为DBInstall.cs. 下面就是如何在这个class 中实现DB"安装"的过程.
首先需要将 DBInstall 继承 Installer class. 还需要加上[RunInstaller(true)]的attribute.
继承
1[RunInstaller(true)]
2
3public partial class DBInstall : Installer
4
此时图标会由变为, 说明这个class 已经成为了安装的组件了.
然后就是 override Rollback, Uninstall, Install 三个方法:
Override Install Method
1 public override void Rollback(System.Collections.IDictionary savedState)
2
3 {
4
5 base.Rollback(savedState);
6
7
8
9 if (MessageBox.Show("Do you want to remove exist databases during rollback?", "Confirm", MessageBoxButtons.YesNo)
10
11 == DialogResult.Yes)
12
13 {
14
15 string dbname = "XXX"; //XXX 代表数据库名称
16
17 try
18
19 {
20
21 ExecuteSql("master", string.Format("DROP DATABASE [{0}]", dbname)); //回滚的时候删除数据库文件
22
23 }
24
25 catch
26
27 {
28
29 MessageBox.Show(string.Format("Can not delete [{0}] database. Please delete it by yourself."), dbname);
30
31 }
32
33
34
35 }
36
37 }
38
39
40
41 public override void Uninstall(System.Collections.IDictionary savedState)
42
43 {
44
45 base.Uninstall(savedState);
相关视频
相关阅读 vs.netIDE报"以下文件中的行尾不一致,要将行尾标准化吗?"的解决ie6下面asp.net mvc3 部署应用程序.NET 3.5 安装错误的四个原因及解决方法支持无限制历史记录的Paint.NET 3.5.8 Final,你用了吗?.NET Framework环境安装错误怎么办?JVM和.NET CLR和哪个会被彻底击败在asp.net mvc中实现右键菜单和简单的分页教程VB.NET如何得到调用当前过程的方法名称和类名称
热门文章 没有查询到任何记录。
最新文章
什么是.NET中的TDD?ASP.NET AJAX入门简介
WebMatrix入门教程VC++2008中如何调用GetOpenFileName打开文件PlaySound函数在VC++6.0中如何播放音乐及声请问VC++回调函数怎么用
人气排行 嵌入式实时操作系统VxWorks入门教程ArrayList 与 string、string[] 的转换C#遍历整个文件夹及子目录的文件代码WebMatrix入门教程asp.net判断文件或文件夹是否存在c#判断数据NULL值的方法vc++6.0怎么写Windows简单窗口代码.net解决数据导出excel时的格式问题
查看所有0条评论>>