检测SQL的InstallShield脚本 通用于最新的 12
来源:互联网 发布:易知投资 怎么样 编辑:程序博客网 时间:2024/05/17 20:27
//全局变量
STRING szSQLServiceName; //数据库服务器名
STRING szSQLServiceName1; //数据库服务器名(缓存)
STRING szSQLServiceFilePath; //数据库服务器执行文件路径
STRING szSQLServiceDataRootPath; //数据库服务器数据库根路径
STRING szSQLServiceFileRootPath; //数据库服务器文件根路径
STRING szStartServiceArgs; //启动参数总和
STRING szSQLServiceRunData0 ; //数据库服务器启动参数1
STRING szSQLServiceRunData1 ; //数据库服务器启动参数2
STRING szSQLServiceRunData2 ; //数据库服务器启动参数3
NUMBER szServiceState; //数据库服务启动状态
//安装开始时检查
function OnBegin()
STRING szMsg;
STRING sKey,sKeyArg,sValue,sData;
STRING szKey;
NUMBER nType, nSize;
NUMBER nResult;
STRING szWaitTxt;
begin
if !MAINTENANCE then
SdShowMsg("正在检查软件运行环境...请稍候",TRUE);
Delay(1);
// 判断系统是否安装Microsoft SQL Server或MSDE
sKey = "Software/Microsoft/Microsoft SQL Server";
szMsg = "Micorsoft SQL Server 或 MSDE没有安装,请先安装Micorsoft SQL Server 或 MSDE.";
RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
nResult = RegDBGetKeyValueEx ( sKey, "InstalledInstances", nType, sData, nSize );
if ( nResult < 0 )then
SdShowMsg("正在安装MSDE2000,请稍等...",TRUE);
Delay(1);
if(LaunchAppAndWait("msde/setup.exe", "",LAAW_OPTION_WAIT|LAAW_OPTION_MAXIMIZED)< 0) then
SdShowMsg("",FALSE);
MessageBox("安装MSDE2000失败,请手动执行安装光盘MSDE目录下的setup.exe安装MSDE2000引擎. 如仍无法解决,请联系系统供应商!",SEVERE);
abort;
endif;
endif;
//获取服务器名称
nResult=RegDBGetKeyValueEx( sKey, "InstalledInstances", nType, szSQLServiceName1, nSize );
if(nResult < 0) then
//MessageBox ("获取数据库服务器名称失败!",INFORMATION);
szSQLServiceName="MSSQL" ;
else
if(szSQLServiceName1="") then
szSQLServiceName="MSSQL";
elseif(szSQLServiceName1!="MSSQLSERVER") then
szSQLServiceName="MSSQL$"+szSQLServiceName1;
else
szSQLServiceName=szSQLServiceName1;
endif;
endif;
//获取数据库文件根路径
if(szSQLServiceName1!="MSSQLSERVER") then
sKey="Software/Microsoft/Microsoft SQL Server/"+szSQLServiceName1+"/Setup";
else
sKey="Software/Microsoft/"+szSQLServiceName1+"/MSSQLServer/Setup";
endif;
RegDBGetKeyValueEx( sKey, "SQLDataRoot", nType, szSQLServiceDataRootPath, nSize ); //数据库根路径
RegDBGetKeyValueEx( sKey, "SQLDataRoot", nType, szSQLServiceFileRootPath, nSize ); //文件根路径
//数据库启动文件路径
szSQLServiceFilePath=szSQLServiceFileRootPath+"/Binn/sqlservr.exe";
//获取数据库服务器启动参数
if(szSQLServiceName1!="MSSQLSERVER") then
sKeyArg="Software/Microsoft/Microsoft SQL Server/"+szSQLServiceName1+"/MSSQLServer/Parameters";
else
sKeyArg="Software/Microsoft/"+szSQLServiceName1+"/MSSQLServer/Parameters";
endif;
RegDBGetKeyValueEx( sKey, "SQLArg0", nType, szSQLServiceRunData0, nSize );
RegDBGetKeyValueEx( sKey, "SQLArg1", nType, szSQLServiceRunData1, nSize );
RegDBGetKeyValueEx( sKey, "SQLArg2", nType, szSQLServiceRunData2, nSize );
szStartServiceArgs=" -c "+ szSQLServiceRunData0 +" "+szSQLServiceRunData1+" "+szSQLServiceRunData2;
//检测数据库服务是否启动
if(ServiceGetServiceState(szSQLServiceName, szServiceState)< ISERR_SUCCESS) then
//加载
ServiceAddService (szSQLServiceName, szSQLServiceName, szSQLServiceName, szSQLServiceFilePath, TRUE,szStartServiceArgs);
endif;
//启动数据库服务
if (ServiceStartService(szSQLServiceName,"")< ISERR_SUCCESS ) then
SdShowMsg("",FALSE);
SetDialogTitle ( DLG_MSG_INFORMATION, "数据库服务启动出错" );
MessageBox("数据库服务"+szSQLServiceName+"启动错误!请手动开启数据库服务后再执行软件安装程序。如仍无法解决,请联系系统供应商!",INFORMATION);
abort;
endif;
endif;
end;
STRING szSQLServiceName; //数据库服务器名
STRING szSQLServiceName1; //数据库服务器名(缓存)
STRING szSQLServiceFilePath; //数据库服务器执行文件路径
STRING szSQLServiceDataRootPath; //数据库服务器数据库根路径
STRING szSQLServiceFileRootPath; //数据库服务器文件根路径
STRING szStartServiceArgs; //启动参数总和
STRING szSQLServiceRunData0 ; //数据库服务器启动参数1
STRING szSQLServiceRunData1 ; //数据库服务器启动参数2
STRING szSQLServiceRunData2 ; //数据库服务器启动参数3
NUMBER szServiceState; //数据库服务启动状态
//安装开始时检查
function OnBegin()
STRING szMsg;
STRING sKey,sKeyArg,sValue,sData;
STRING szKey;
NUMBER nType, nSize;
NUMBER nResult;
STRING szWaitTxt;
begin
if !MAINTENANCE then
SdShowMsg("正在检查软件运行环境...请稍候",TRUE);
Delay(1);
// 判断系统是否安装Microsoft SQL Server或MSDE
sKey = "Software/Microsoft/Microsoft SQL Server";
szMsg = "Micorsoft SQL Server 或 MSDE没有安装,请先安装Micorsoft SQL Server 或 MSDE.";
RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);
nResult = RegDBGetKeyValueEx ( sKey, "InstalledInstances", nType, sData, nSize );
if ( nResult < 0 )then
SdShowMsg("正在安装MSDE2000,请稍等...",TRUE);
Delay(1);
if(LaunchAppAndWait("msde/setup.exe", "",LAAW_OPTION_WAIT|LAAW_OPTION_MAXIMIZED)< 0) then
SdShowMsg("",FALSE);
MessageBox("安装MSDE2000失败,请手动执行安装光盘MSDE目录下的setup.exe安装MSDE2000引擎. 如仍无法解决,请联系系统供应商!",SEVERE);
abort;
endif;
endif;
//获取服务器名称
nResult=RegDBGetKeyValueEx( sKey, "InstalledInstances", nType, szSQLServiceName1, nSize );
if(nResult < 0) then
//MessageBox ("获取数据库服务器名称失败!",INFORMATION);
szSQLServiceName="MSSQL" ;
else
if(szSQLServiceName1="") then
szSQLServiceName="MSSQL";
elseif(szSQLServiceName1!="MSSQLSERVER") then
szSQLServiceName="MSSQL$"+szSQLServiceName1;
else
szSQLServiceName=szSQLServiceName1;
endif;
endif;
//获取数据库文件根路径
if(szSQLServiceName1!="MSSQLSERVER") then
sKey="Software/Microsoft/Microsoft SQL Server/"+szSQLServiceName1+"/Setup";
else
sKey="Software/Microsoft/"+szSQLServiceName1+"/MSSQLServer/Setup";
endif;
RegDBGetKeyValueEx( sKey, "SQLDataRoot", nType, szSQLServiceDataRootPath, nSize ); //数据库根路径
RegDBGetKeyValueEx( sKey, "SQLDataRoot", nType, szSQLServiceFileRootPath, nSize ); //文件根路径
//数据库启动文件路径
szSQLServiceFilePath=szSQLServiceFileRootPath+"/Binn/sqlservr.exe";
//获取数据库服务器启动参数
if(szSQLServiceName1!="MSSQLSERVER") then
sKeyArg="Software/Microsoft/Microsoft SQL Server/"+szSQLServiceName1+"/MSSQLServer/Parameters";
else
sKeyArg="Software/Microsoft/"+szSQLServiceName1+"/MSSQLServer/Parameters";
endif;
RegDBGetKeyValueEx( sKey, "SQLArg0", nType, szSQLServiceRunData0, nSize );
RegDBGetKeyValueEx( sKey, "SQLArg1", nType, szSQLServiceRunData1, nSize );
RegDBGetKeyValueEx( sKey, "SQLArg2", nType, szSQLServiceRunData2, nSize );
szStartServiceArgs=" -c "+ szSQLServiceRunData0 +" "+szSQLServiceRunData1+" "+szSQLServiceRunData2;
//检测数据库服务是否启动
if(ServiceGetServiceState(szSQLServiceName, szServiceState)< ISERR_SUCCESS) then
//加载
ServiceAddService (szSQLServiceName, szSQLServiceName, szSQLServiceName, szSQLServiceFilePath, TRUE,szStartServiceArgs);
endif;
//启动数据库服务
if (ServiceStartService(szSQLServiceName,"")< ISERR_SUCCESS ) then
SdShowMsg("",FALSE);
SetDialogTitle ( DLG_MSG_INFORMATION, "数据库服务启动出错" );
MessageBox("数据库服务"+szSQLServiceName+"启动错误!请手动开启数据库服务后再执行软件安装程序。如仍无法解决,请联系系统供应商!",INFORMATION);
abort;
endif;
endif;
end;
- 检测SQL的InstallShield脚本 通用于最新的 12
- Installshield 关于SQL的脚本
- 用InstallShield检测是否安装IIS的脚本
- InstallShield中注册SQL Anywhere 7.0 ODBC的完整脚本
- 使用GameMaker中用于碰撞检测的脚本小记
- InstallShield在MySQL和Oracle中执行SQL脚本的方法InstallShield在MySQL和Oracle中执行SQL脚本的方法
- InstallShield: 配置 IIS 的 InstallScript 脚本
- Installshield 实现文件关联的脚本
- sql server 中删除默认约束的通用sql脚本
- 通用于ListView的Adapter
- 删除sql server默认约束的通用脚本
- SQL注入技术和跨站脚本攻击的检测
- SQL注入技术和跨站脚本攻击的检测
- SQL注入技术和跨站脚本攻击的检测
- SQL注入技术和跨站脚本攻击的检测
- SQL注入技术和跨站脚本攻击的检测
- SQL注入技术和跨站脚本攻击的检测
- SQL注入技术和跨站脚本攻击的检测
- 一个纯粹的人
- Windows 下利用MFC实现的中国象棋棋盘绘制程序
- java trick 2
- 了解AOI理念,减轻心理负
- 企业常用英语缩写
- 检测SQL的InstallShield脚本 通用于最新的 12
- InstallShield SQL 数据库安装
- AOI的基本原理
- 跟朋友之间AOI技术探讨---跟大家分享
- 离线式AOI的定位夹紧装置
- 线路板流程术语中英文对照
- asp.net准确截取文本长度(取得标题的字符数)
- 在大公司混,靠的不是智商而是情商
- joyfire linux 笔记