C#项目打包,并自动安装SQL数据库[3]

C#项目打包,并自动安装SQL数据库[3],第1张

  六) 打包时加入卸载功能

方法一

在打包项目中添加文件msiexec exe(一般可在c \windows\system \下找到)  在文件系统视图中选择应用程序文件夹 在msiexec exe上按右键 选择创建快捷方式 重命名快捷方式为 卸载 更改此快捷方式的Arguments 为 /x {产品id} 产品id的值为打包项目的ProductCode属性值  方法二 (推荐)  先生成安装包 记下ProductCode(选择解决方案资源管理器根目录如setup 再查看属性标签 不是右键中的属性) 下面要用到

用VS net建立一个新的控制台程序uninst exe文件 power by landlordh for xp Module uninstall Sub Main() Dim myProcess As Process = New Process If System Environment OSVersion ToString IndexOf( NT ) Then myProcess Start( msiexec /X{ B D A C AB B FB } ) 改为自己的ProductCode End If myProcess Close() End Sub End Module 将控制台程序BIN目录的exe文件加入到打包程序文件中 在程序组创建uninst exe的快捷方式附 installdb vb类 要添加引用 system configuration install dll Imports System ComponentModel Imports System Configuration Install Public Class Installer Inherits System Configuration Install Installer #Region 组件设计器生成的代码 Public Sub New() MyBase New()  该调用是组件设计器所必需的  InitializeComponent()  在 InitializeComponent() 调用之后添加任何初始化End Sub Installer 重写 dispose 以清理组件列表  Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (ponents Is Nothing) Then ponents Dispose() End If MyBase Dispose(disposing) End Sub 组件设计器所必需的Private ponents As System ComponentModel IContainer 注意 以下过程是组件设计器所必需的 可以使用组件设计器来修改此过程   不要使用代码编辑器来修改它  Private Sub InitializeComponent() ponents = New System ComponentModel Container End Sub #End Region Public Overrides Sub Install(ByVal stateSaver As System Collections IDictionary) MyBase Install(stateSaver) If Not InstallDB() Then 失败 反安装Me Uninstall(stateSaver) Exit Sub End If DeleteFile(String Format( { }DB dat Me Context Parameters Item( targetdir ))) End Sub Public Overrides Sub Uninstall(ByVal stateSaver As System Collections IDictionary)

lishixinzhi/Article/program/net/201311/15204

双击sql server 2008的.exe安装文件,进入【SQL Server 安装中心】。

2

点击界面左侧的【安装】,然后点击右侧的【全新SQL Server 独立安装或向现有安装添加功能】,进入【SQL Server 2008 安装程序】界面,首先是【安装程序支持规则】, *** 作完成之后,点击【确定】。

3

进入【产品密钥】,选择合适的版本(我这里无法选择),点击【下一步】。

4

进入【许可条款】,勾选上【我接受许可条款】,直接点击【下一步】。

5

进入【安装程序支持文件】,点击【安装】按钮,开始安装支持文件。

安装完成之后,又进入【安装程序支持规则】,点击【显示详细信息】可以看到详细的规则列表,点击【下一步】。

进入【功能选择】,这里我选择了【全选】,也可以选择具体需要的功能,并且可以改变安装位置,设置完成后,点击【下一步】。

进入【实例配置】,这里我直接选择了【命名实例】,其他都按照默认设置,点击【下一步】。

进入【磁盘空间要求】,显示磁盘的使用情况,可以直接点击【下一步】。

进入【服务器配置】,单击【对所有SQL Server 服务使用相同的账户】,选择了【NT AUTHORITY\SYSTEM】,然后单击【下一步】即可。

进入【数据库引擎配置】,单击【添加当前用户】指定SQL Server管理员,这样管理员就是系统管理员,设置好之后,直接单击【下一步】。

进入【Reporting Services配置】,直接按照默认选择第一项,点击【下一步】。

进入【错误和使用情况报告】,可以选择其中一项,将相关内容发送给Mircosoft,也可以不进行选择,然后单击【下一步】。

进入【安装规则】,直接单击【下一步】。

进入【安装进度】,SQL Server 2008开始安装,不用管它,等待安装完成即可。安装完成后,会列出具体安装了哪些功能,提示安装过程完成,这时单击【下一步】,可进入【完成】界面,提示【SQL Server 2008安装已成功完成】。

如果你的程序使用的库不是access或sqlite之类的桌面单机小库,而是MSSQL这种大型DBMS,那么正确的方式是,把建库建表填数据等等所有语句封装在安装程序中,安装过程调用这些语句完成库、表、对象的建立及必要初始数据的填充,如果对方没有符合要求的DBMS,则给予提示和退出安装。因为DBMS其实是属于客户的,客户负责自行采购、管理和维护(得养个DBA),而且该DBMS承载的应用未必只有你的程序,也许还有其它开发商为客户开发的程序。

当然了,实际上如果客户是从零开始部署SQL,他们也许希望你能一站式解决~甚至服务器都请你代买,但是理念上需要清楚,这些都是额外的事,不是软件提供商的你需要在程序中考虑的。就是说忙你可以帮,但不应该把这些忙帮进程序中去,不然你没交付一个软件都要带套DBMS~明显不妥是吧

PS:使用OleDbConnection类连接mdb文件,至于代码,恕我懒,请参看MSDN:http://msdn.microsoft.com/zh-cn/library/system.data.oledb.oledbconnection(v=VS.80).aspx


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10033725.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存