您的位置:首页技术开发.Net 专栏 → .NET制作有DB安装功能的安装文件

.NET制作有DB安装功能的安装文件

时间:2010/2/14 18:47:00来源:本站整理作者:我要评论(0)

.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时的格式问题