博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
InstallShield高级应用--检查是否安装ORACLE或SQL Server
阅读量:5889 次
发布时间:2019-06-19

本文共 1445 字,大约阅读时间需要 4 分钟。

 

 

 

 

实现原理:判断是否存在,是通过查找注册表是否含有相应标识来判断的。

注意:XP与WIN7系统注册表保存方式不一样,32位与64位操作系统注册表保存方式也不一样,需要分别判断。在此只判断32位操作系统的情况。

 

源码:

检查是否有安装Oracle 

function NUMBER CheckOracleISExist() 
STRING svOraclePath,nvValue;
NUMBER nKeyType,nvType, nvSize;
begin
// defaut regedit root
RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE); 
//oralce regedit path 
if(RegDBGetKeyValueEx("SOFTWARE\\ORACLE\\ALL_HOMES","DEFAULT_HOME",nvType,nvValue,nvSize) = 0) then
return 0;
endif;
return -1;
end;

// SQL Server 2000, SQL Server 2005, SQL Server 2008,

// SQL Server 2005 Express,SQL Server 2008 Express 
//检查是否有安装SQL Server 
function NUMBER CheckSQLServer() 
STRING nvValue;
NUMBER nvType, nvSize;
begin
//return -1;
// defaut regedit root
RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE); 
// SQL Server 2000 
if(RegDBGetKeyValueEx("SOFTWARE\\Microsoft\\Microsoft SQL Server","InstalledInstances",nvType,nvValue,nvSize) = 0) then
return 0;
endif;
//SQL Server 2005 Version
if(RegDBGetKeyValueEx("SOFTWARE\\Microsoft\\Microsoft SQL Server 2005 Redist\\BOL\\2052\\CurrentVersion","Version",nvType,nvValue,nvSize) = 0) then
return 0;
endif; 
//SQL Server 2008 Express 
//if(RegDBGetKeyValueEx("SOFTWARE\\Microsoft\\Microsoft SQL Server 2008 Redist\\SQLNCLI10\\2052\\CurrentVersion","Version",nvType,nvValue,nvSize) = 0) then
// return 0;
//endif; 
// Express
if(RegDBGetKeyValueEx("SOFTWARE\\Microsoft\\Microsoft SQL Server\SQLEXPRESS\setup","SQLPath",nvType,nvValue,nvSize) = 0) then
return 0;
endif;
return -1;
end;

转载地址:http://sqysx.baihongyu.com/

你可能感兴趣的文章
javascript操作iframe的那些事
查看>>
servlet相关 jar包位置 BAE上部署web应用
查看>>
路徑 z
查看>>
cpu分析简介
查看>>
1.备忘录模式
查看>>
Html学习笔记3
查看>>
杭州见闻
查看>>
What is Xeround?
查看>>
[转载]jQuery上传插件Uploadify使用详解
查看>>
算法学习的轨迹(转)
查看>>
asmx-web-service-basic-authentication
查看>>
Excel转换成图片的操作方法
查看>>
MFC中读取和设置文件状态
查看>>
分页显示
查看>>
iOS中安全结束 子线程 的方法
查看>>
批处理学习笔记8 - 深入学习For命令1
查看>>
Object-c学习之路二(oc内存管理黄金法则1)
查看>>
python开发_python文件操作
查看>>
iPhone 已停用
查看>>
CSS3之边框图片border-image
查看>>