說明: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資料庫的自動部署。