vs打包数据库问题

vs打包数据库问题,第1张

选择开始菜单中→程序→【Management SQL Server 2008】→【SQL Server Management Studio】命令,打开【SQL Server Management Studio】窗口,并使用Windows或 SQL Server身份验证建立连接。

在【对象资源管理器】窗口中展开服务器,然后选择【数据库】节点

右键单击【数据库】节点,从d出来的快捷菜单中选择【新建数据库】命令。

执行上述 *** 作后,会d出【新建数据库】对话框。在对话框、左侧有3个选项,分别是【常规】、【选项】和【文件组】。完成这三个选项中的设置会后,就完成了数据库的创建工作,

在【数据库名称】文本框中输入要新建数据库的名称。例如,这里以“新建的数据库”。

在【所有者】文本框中输入新建数据库的所有者,如sa。根据数据库的使用情况,选择启用或者禁用【使用全文索引】复选框。

在【数据库文件】列表中包括两行,一行是数据库文件,而另一行是日记文件。通过单击下面的【添加】、【删除】按钮添加或删除数据库文件。

切换到【选项页】、在这里可以设置数据库的排序规则、恢复模式、兼容级别和其他属性。

切换到【文件组】页,在这里可以添加或删除文件组。

完成以上 *** 作后,单击【确定】按钮关闭【新建数据库】对话框。至此“新建的数据”数据库创建成功。新建的数据库可以再【对象资源管理器】窗口看到。

进入正题: 一 建立安装程序项目:右键解决方案->添加->新建项目,在d出的新建项目面板中选择 其他项目类型->安装和部署,在模板中选择安装项目。单击确定,安装部署项目已经建好。二 对项目文件进行打包:右键安装项目setup->视图->文件系统三个文件夹分别对应在目标机器上运行安装程序后相应的文件夹,用户程序菜单是对应电脑上点击“开始”后的程序菜单,桌面则是对应桌面,这两个地方一般都是建立快捷方式的,打包主要就是把必要的文件放进应用程序文件夹,右键应用程序文件夹->添加->项目输出,选择你想打包的项目,一般就是主运行输出为exe的项目,这个大家应该都懂,点击确定后项目主输出添加完毕,一般来说系统会自动把必要的相关文件以及dll组件都添加进去。三:对oracle数据库进行打包:第二步如果是简单的项目基本上打包就结束了,但是我们还要添加oracle客户端,因为必须的有这个客户端才能远程连接oracle数据库。oracle公司还是想的比较周到的,提供了精简客户端oracle instant client给我们打包用,这个可以上oracle公司官网下载。把压缩包下载下来,解压,然后从安装的客户端那把oracle.key和tnsname.ora文件拷到解压文件夹下,基本文件目录如下,我的是instant client 11.2:把这些文件全部添加到应用程序文件夹,具体做法是在应用程序文件夹下新建文件夹,名字可以自己取,我的就是OracleClient,然后右键OracleClient->添加->文件,把刚才解压文件夹下的文件全部选上添加进去,至此,oracle的客户端也打包进去了,监听文件tnsname.ora也有了,可是oracle客户端使用还需要配置环境变量,具体就是把oracle那些文件所在目录添加到系统变量的path中,以及添加一个TNS_ADMIN的变量,其值为tnsname.ora的所在目录,按照我们的打包方式,这两个目录都应该是程序的安装目录+\OracleClient,但是我们不能告诉用户自己去配置啊,需要程序在安装过程中就写好这两个系统变量,这就需要写注册表了,还需要获得程序的安装目录,这个是最麻烦的,也是我在自己的打包过程中最费劲的。下面就来说说该怎么做。四 配置环境变量:首先在解决方案中添加新建项目,添加类库项目,把项目自带的class1.cs删掉,然后右击该项目,添加新建项,选择安装程序类安装时用来配置环境变量的类库结构:installer中的代码如下,部分代码后面解释,using System

using System.Collections

using System.Collections.Generic

using System.ComponentModel

using System.Configuration.Install

using System.Linq

using System.Windows.Forms

using Microsoft.Win32

namespace SetEnvironment{[RunInstaller(true)]

publicpartialclass SetEnvironmentInstaller : Installer{public SetEnvironmentInstaller(){InitializeComponent()}publicoverridevoid Install(System.Collections.IDictionary stateSaver){string oraclePath = this.Context.Parameters["targetdir"].ToString() + "OracleClient"

base.Install(stateSaver)

SetEnvironment(oraclePath,oraclePath)}privatevoid SetEnvironment(string path,string TNS_ADMIN){try {using (RegistryKey environment = Registry.LocalMachine.OpenSubKey(@"SYSTEM\ControlSet001\Control\Session Manager\Environment", true)){String pathValue = path +""+ environment.GetValue("Path").ToString()

environment.SetValue("Path", pathValue)

string search=environment.GetValue("TNS_ADMIN", string.Empty).ToString()

environment.SetValue("TNS_ADMIN", value)}}MessageBox.Show("配置环境变量成功")}catch (Exception ex){MessageBox.Show(ex.Message)}}}}完了之后生成dll组件,回到安装项目,再次在应用程序文件夹下添加项目输出,跟之前步骤一样,不过这次选择刚才的用来配置环境变量的类库项目,类型还是主输出然后右击安装项目setup->视图->自定义 *** 作,将setenvironment输出添加到自定义 *** 作那,具体 *** 作是右击自定义 *** 作的安装->添加自定义 *** 作,进入应用程序文件夹下选择项目中的项目,选择setenvironment的项目,点击确定完成添加,右击“主输出来自SetEnvironment(活动)”,选择属性窗口,在customActionData项添加值/targetdir="[TARGETDIR]\"回到上面的代码处,添加这个参数是为了在上面的代码运行时可以获得程序的安装目录,修改注册表的那些代码读者们可以自己琢磨一下,打开注册表看看就知道了,至此,项目打包基本结束,数据库的打包也完成了,不过安装完后需要重启电脑环境变量的修改才能生效,程序才能连上数据库五 顺便把如何添加卸载功能也写上吧:在应用程序文件夹下把msiexec.exe添加进来,右键添加文件,在C:\Windows\System32目录下找到msiexec.exe添加即可,创建msiexec.exe的快捷方式,把快捷方式剪切到别的地方,用户桌面或者用户程序菜单,不剪切也行,查看setup的属性窗口,找到product在msiexec.exe的快捷方式的属性窗口中Arguments添加上productCode 格式是/x+空格+productCode六 生成setUp项目,打包结束,这也是个很基础的过程,还有很多细节部分大家就从别处查查资料吧,貌似微软的文档把这个说的很清楚,有时间再研究研究!


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存