说明:InstallShield版本: 2010
需求:自动部署mysql数据库
实现方法:先给客气机安装mysql的ODBC,以便测试客户输入的用户名密码正确,调用批处理自动部署数据库
由于用ODBC执行mysql脚本导入数据时中文为乱码,这个一直没解决,所以没办法只有想到调用批处理实现Mysql自动部署了!导入需要三个文件,从MySql安装根目录下的Mysql.exe,和你自己的写的导入数据的批处理,要导入的sql脚本文件。
一.InstallShield调用外部mysql odbc msi安装包实现mysql odbc部署
1>在Behavior and Logic->Support Files/Billboards
Support Files->Language Independent下添加要调用的外部msi文件
在OnBegin事件里添加代码判断mysql odbc是否存在并安装mysql的odbc。
szKey = " //SOFTWARE//ODBC//ODBCINST.INI//MySQL ODBC 3.51 Driver " ;
nResult = RegDBKeyExist(szKey);
if (nResult < 0 ) then
szParam = " /i " + SUPPORTDIR ^ " MyODBC.msi " + " /qb " ;
if (LaunchAppAndWait( " msiexec.exe " ,szParam,WAIT) < 0 ) then
MessageBox( " Mysql ODBC Install failed! " ,INFORMATION);
endif;
endif;
二.InstallShield调用外部程序
1>在Behavior and Logic->Support Files/Billboards
Support Files->Language Independent下添加要调用的外部可执行文件
此处为执行安装数据库的批处理文件
2>在setup.rul脚本文件的OnSQLLogin的事件后面添加代码向批处理
传递服务器IP,用户名,数据库密码这三个参数
if ( bNext ) then
// 此处添加安装数据库代码
szParam = szServer + " " + szUser + " " + szPassword;
// MessageBox(szParam,MB_OK);
LaunchAppAndWait(SUPPORTDIR ^ " bat.bat " ,szParam,WAIT);
return NEXT;
else
return BACK;
endif;
这样当用户在安装时的数据库登陆界面里点击下一步时便执行此处的代码安装数据库实现mysql数据库的自动部署。