用VB.net打包后的软件,如何支持覆盖安装呢

用VB.net打包后的软件,如何支持覆盖安装呢,第1张

,如果客户终端非常多的时候,这就会是一项很麻烦的工作,一方面要安排我们的应用程序,另一方面要安装Oracle客户端,而且还要对Oracle客户端进行NET EASY配置,真是不胜其烦。

为此我研究了很久,现在终于做到了可以把Oracle客户端和应用程序一起打包,又自己用程序来配置NET EASY,刚好前两天有两个小弟问我如何把客户端打包和用程序配置NET EASY的问题,我今天就在这里说一下。

由于时间问题,今天就只能讲一下客户端打包的问题,另一个问题我会在下一篇给大家讲一下。

1、打包要知道的问题:

A、要打包哪些文件

B、如何修改注册表。

C、如何设置环境变量。

D、打包使用哪些工具。

2、打包要使用的文件:

我们先找一个装有Oracle的机器,把以下的文件打包。为了保证Oracle能正常访问,我们需要保持原目录结构不变。

A、$ORACLE_HOMEBIN下边所有DLL,IMPEXE,EXPEXE,SQLPLUSEXE,SQLPLUSWEXE。($ORACLE_HOME指的是ORACLE的主目录,比如D:ORACLEORA8I)。

B、$ORACLE_HOMEnetwork目录下的三个目录:Admin、mesg、tnsapi,把它们全部打包。

C、$ORACLE_HOMEocommonnls目录。

D、$ORACLE_HOMEoracoremesg目录。

E、$ORACLE_HOMEsqlplus下的两个目录:admin、mesg。

3、如何修改注册表:

为不麻烦,我们可以把这个装有Oracle的机器的注册表里边Oracle信息照搬过来。全部照抄。

4、如何设置环境变量:

设置环境变量,我们要在PATH前边加上$ORACLE_HOMEBIN;

5、使用哪些打包工具:

我个人比较喜欢的工具是WiseInstaller,它的功能很强大,能导入整个文件目录(我感觉这一点比Install shilled要好)、导入注册表、也可以设置环境变量,以及设置NT服务等等(我好象是给它做广告似的)。

我们现在就可以使用它来做我们的客户端了。

第一步,先把我说的这些文件目录全部导入到我们的安装工程中去。

第二步,找到设置注册表选项,导入注册表中HKEY_LOCAL_MACHINESOFTWAREORACLE下边所有的注册表值。

第三步,找到环境变量设置选项,在它的PATH那里加上$ORACLE_HOMEBIN。这里的$ORACLE_HOME用来代替。

做完这一切,编译,发布,完成。

6、如何用手工来修改NET EASY:

现在假设我们已经做完了这个安装包,并且把它安装到了我们的电脑上边,那么,在开始菜单上是没有ORACLE这个选项的,如何设置Oracle NET EASY呢?

我们现在暂时可以这样做:

打开我们的Oracle客户端的安装目录,找到NETWORKADMIN子目录下边的tnsnamesora这个文件,直接对它进行编辑就行了。

比如,我们现在想配置一个叫做NTSERVER的服务名,我们就可以这样写:

NTSERVER =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 机器名)(PORT = 端口号))

)

(CONNECT_DATA =

(SERVICE_NAME = 全局数据库名)

)

)

然后,直接把它加到tnsnamesora这个文件的后边就行了。

如果NTSERVER这个服务名已经存在的话,我们可以直接修改它的机器名、端口号和全局数据库名就可以了。

在数据表中创建一个字符类型字段来存储相应的映像文件的路径

VB声明:档案拷贝 - 可以实现文件

FileCopy源,目标

源 - 也就是说,数据表文件路径

目标 - 目标是你说的img文件夹的路径

// 获取程序的基目录。

SystemAppDomainCurrentDomainBaseDirectory

// 获取模块的完整路径。

SystemDiagnosticsProcessGetCurrentProcess()MainModuleFileName

// 获取和设置当前目录(该进程从中启动的目录)的完全限定目录。

SystemEnvironmentCurrentDirectory

// 获取应用程序的当前工作目录。

SystemIODirectoryGetCurrentDirectory()

// 获取和设置包括该应用程序的目录的名称。

SystemAppDomainCurrentDomainSetupInformationApplicationBase

// 获取启动了应用程序的可执行文件的路径。

SystemWindowsFormsApplicationStartupPath

// 获取启动了应用程序的可执行文件的路径及文件名

SystemWindowsFormsApplicationExecutablePath

例如:1 AppDomainCurrentDomainBaseDirectory 返回结果为: D:\mycode\

ApplicationStartupPath 返回结果为: D:\mycode

2 ApplicationStartupPath 只能用于WinForm窗体中,而AppDomainCurrentDomainBaseDirectory既可以用于WinForm窗体中,也可以用于类库DLL文件中

你分别用MessageBoxShow(AppDomainCurrentDomainBaseDirectory)

MessageBoxShow(ApplicationStartupPath)

MessageBoxShow(MyApplicationInfoDirectoryPath) 看看各自的结果,就会明白

以上就是关于用VB.net打包后的软件,如何支持覆盖安装呢全部的内容,包括:用VB.net打包后的软件,如何支持覆盖安装呢、vb制作好后怎样将程序打包,主要是有几个文件夹,存放数据库和图片的文件夹应该怎么办、VB.NET 获取数据库的路径有哪些 比较好用 我用 下面那串代码时 调试 是成功的,但是打包后就不成功了等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存