我用WiseInstall打包Oracle10g数据库的OLEDB部分,用在客户端中,已经可以安装后就访问数据库了,总共有26M左右。现在的问题是如果安装的机器上有其他使用Oracle的软件(不使用OLEDB的),会使软件无法连接数据库。
我安装自已打包好的Oracle10g,OLEDB部分时,可以选择安装路径,然后将OLEDB部分安装到对应路径,同时修改环境变量。
在无Oralce的机器上测试效果非常好。
请问:
1、如何检测电脑上原有的Oracle数据库的版本?
2、如何是低版本的8i,9i应该如何处理?
3、如何检测已经安装了10g,如何判断是否安装了oredb连接部分?
4、如果有其他使用Oracle的软件,如何避免软件(不使用OLEDB的)不能使用?

解决方案 »

  1.   

    抛砖引玉吧这个如果版本不一致,都无法连接服务器,所以基本上下面的4点都不能支撑,除非通过文件系统的方式来判断1、如何检测电脑上原有的Oracle数据库的版本? 
    通过文件系统的特征来判断吧,比如要用户指定一个oracle的安装目录。执行该目录下的sqlplus或者其他工具命令,这些工具都有版本信息的,解析版本信息2、如何是低版本的8i,9i应该如何处理? 
    如果低版本,正不知道c#怎么做了。对于java,动态加载不同的jar就可以实现了。写个动态的classLoader类就可以了
    3、如何检测已经安装了10g,如何判断是否安装了oredb连接部分? 
    方法同一, 是否安装好了oredb,就用用这样的方式,你的程序连一个下,判断是否成功4、如果有其他使用Oracle的软件,如何避免软件(不使用OLEDB的)不能使用? 
    不清楚了
      

  2.   

    多个使用Oralce的软件,使用不同版本和相同版本的不互相影响,用Oracle安装最好 
      

  3.   

    WiseInstall里如何判断注册表里哪个文件夹是否存在?不是键值