【转】NET 制作有DB安装功能的安装文件
2009-01-13 09:13
267 查看
前段时间做一个项目,因为其中数据库有许多数据是初始化的数据, 为了便于部署.于是我在制作安装程序的时候加入了 DB install的功能.
首先最好单独创建一个DB install 的Class Library的Project.
File NewProjectVisual C# WindowsClass Library
然后创建一个class, 命名为DBInstall.cs. 下面就是如何在这个class 中实现DB"安装"的过程.
首先需要将 DBInstall 继承 Installer class. 还需要加上[RunInstaller(true)]的attribute.
[RunInstaller(true)]
public partial class DBInstall : Installer
此时图标会由变为, 说明这个class 已经成为了安装的组件了.
然后就是 override Rollback, Uninstall, Install 三个方法:
public override void Rollback(System.Collections.IDictionary savedState)
2
3
39
40
41 public override void Uninstall(System.Collections.IDictionary savedState)
42
43
public override void Install(System.Collections.IDictionary stateSaver)
上面描述了自定义安装的初步过程.
2
3private string LoadSqlFromAssembly(string Name)
4
5
private void ExecuteSql(string DatabaseName, string Sql)
下面描述下LoadSqlFromAssembly 和 ExecuteSql两个方法:
自此在上面DBInstall的Project已经全部实现完毕.还需要在安装部署中添加这个DBInstall.
创建一个Setup Project(File NewProjectOther Project Type Setup and DeploymentSetup Project,然后再刚创建号的
Setup project点击右键, 点击"添加", 选择Project Output,在Project 选择刚已经完成的DBInstall, 然后点击 Primary output.
然后点击"确定".
然后再在Setup Project上面点击右键, 点击"View""Custom Actions",会弹出一个窗口
然后在窗口中依次在Install, Rollback, Uninstall 三个文件夹上面创建 一个Action.
方法如下:
在文件夹上面点击右键,然后点击"Add Custom Action", 再弹出窗口里面选择Application Folder.
选择刚才创建的一个DBInstall的Primary Output .
然后点击"确定".
注意一定要在Install, Rollback, Uninstall 都添加 "Primary output from DBInstall(Active)".
只有这样,我们在DBInstall中override的 Rollback, Uninstall才会有意义.
然后编译setup project, 得到安装文件,双击安装.
PS: 有时候大家生成的脚本在sql里面执行的正常, 但是在安装过程中会出现 "Create 附近有错误"类似的错误,
请大家去掉sql文件里面的"GO". 就可以一切正常了.
如果大家有更好的办法, 请多多指教! 谢谢!
首先最好单独创建一个DB install 的Class Library的Project.
File NewProjectVisual C# WindowsClass Library
然后创建一个class, 命名为DBInstall.cs. 下面就是如何在这个class 中实现DB"安装"的过程.
首先需要将 DBInstall 继承 Installer class. 还需要加上[RunInstaller(true)]的attribute.
[RunInstaller(true)]
public partial class DBInstall : Installer
此时图标会由变为, 说明这个class 已经成为了安装的组件了.
然后就是 override Rollback, Uninstall, Install 三个方法:
public override void Rollback(System.Collections.IDictionary savedState)
2
3
39
40
41 public override void Uninstall(System.Collections.IDictionary savedState)
42
43
public override void Install(System.Collections.IDictionary stateSaver)
上面描述了自定义安装的初步过程.
2
3private string LoadSqlFromAssembly(string Name)
4
5
private void ExecuteSql(string DatabaseName, string Sql)
下面描述下LoadSqlFromAssembly 和 ExecuteSql两个方法:
自此在上面DBInstall的Project已经全部实现完毕.还需要在安装部署中添加这个DBInstall.
创建一个Setup Project(File NewProjectOther Project Type Setup and DeploymentSetup Project,然后再刚创建号的
Setup project点击右键, 点击"添加", 选择Project Output,在Project 选择刚已经完成的DBInstall, 然后点击 Primary output.
然后点击"确定".
然后再在Setup Project上面点击右键, 点击"View""Custom Actions",会弹出一个窗口
然后在窗口中依次在Install, Rollback, Uninstall 三个文件夹上面创建 一个Action.
方法如下:
在文件夹上面点击右键,然后点击"Add Custom Action", 再弹出窗口里面选择Application Folder.
选择刚才创建的一个DBInstall的Primary Output .
然后点击"确定".
注意一定要在Install, Rollback, Uninstall 都添加 "Primary output from DBInstall(Active)".
只有这样,我们在DBInstall中override的 Rollback, Uninstall才会有意义.
然后编译setup project, 得到安装文件,双击安装.
PS: 有时候大家生成的脚本在sql里面执行的正常, 但是在安装过程中会出现 "Create 附近有错误"类似的错误,
请大家去掉sql文件里面的"GO". 就可以一切正常了.
如果大家有更好的办法, 请多多指教! 谢谢!
相关文章推荐
- .NET 制作有DB安装功能的安装文件
- vs2010制作带卸载功能的安装包过程,及asp.net网站iis发布、备份数据库
- ASP.NET--制作功能完善的安装程序
- vb.net制作安装文件
- .Net部署二三事之一——如何为VS安装文件MSI制作更新补丁MSP
- ASP.NET --- 制作功能完善的安装程序
- 关于用VS2008制作的安装部署文件,安装时提示“要求安装.net Framework 3.5版本的组件”的问题
- 如何实现asp.net中FileUpload文件类型过滤功能
- 一步一步制作yaffs/yaffs2根文件系统(二)---安装BusyBox,构造/bin、/sbin、/usr、linuxr
- 拥有网页版小U盘 ASP.NET实现文件上传与下载功能
- .Net程序打包安装与卸载制作 ——怎样将MDAC打包进.Net安装项目中?(五)
- [VB.NET]用vb.net实现QQ传送文件的功能!~急用!!!!!!
- Asp.Net Ajax 配置 为Visual Studio 2005安装Ajax Extensions和Ajax Contorl Toolkit以开发带有Ajax功能的ASP.Net程序
- 利用ASP.NET 2.0的客户端回调功能制作下拉框无限级联动
- asp.net中文件下载功能的实例代码
- asp.net中实现文件下载功能
- 利用流制作EXE文件加密器、捆绑、自解压文件及安装程序
- VS.NET中自定义安装程序制作经验总结
- .Net部署二三事之一——如何为VS安装文件MSI制作更新补丁MSP
- 制作web安装文件时遇到的几个小问题及其解决思路