installshield|打包|資料|資料庫|自動安裝|installshield|打包|自動安裝 //近期公司用ASP+SQL開發辦公自動化OA,需要製作安裝程式發行,此指令碼是用IS9.0製作,以此共用,與各同仁交流學習
#define BITMAP_ID 1
#include "ifx.h" //不能移動
prototype CreateWebSite(STRING,STRING); // 建立 IIS 網站
prototype CreateVirtualDir(STRING); // 建立虛擬目錄
prototype CreateDataBase(STRING,STRING,STRING);//建立SQL資料庫
prototype CheckIIS(); // 樣本:檢查系統是否安裝IIS
STRING TMP_PRODUCT_NAME,TMP_PRODUCT_VERSION,TMP_COMPANY_NAME,TMP_PRODUCT_KEY,TMP_TITLE_CAPTIONBAR;
STRING globalstr,destdir,destsvr,destsa,destpw;
NUMBER nvFileHandle,nvFileHandlebak,asaline;
BOOL iscreatedb;
STRING nSetupType,szSQLsvr,szSQLusr,szSQLpwd,szSQLsvrDefault,szSQLusrDefault,szSQLpwdDefault;
STRING szADsvr,szADusr,szADpwd,szADsvrDefault,szADusrDefault,szADpwdDefault;
STRING szADDomain,szADOU,szADDomainDefault,szADOUDefault,ADDC1;
STRING svName, svCompany, svSerial;
function OnFirstUIBefore()
NUMBER nResult,nOpt,svEdit1,svEdit2;
STRING szTitle, szMsg,szBmpPath;
STRING szLicenseFile, szQuestion;
STRING szServerIP,szServerPort,szServerIPDefault,szServerPortDefault;
STRING szFile,szTargetPath,szDir,szfolder;
STRING szComponents, szTargetdir;
STRING szField1,szField2;
STRING szDefault,svResult;
OBJECT piisObj;
LIST list,listStartCopy;
NUMBER nLevel,nvSize;
begin
TMP_PRODUCT_NAME="XXX電子政務平台";
TMP_PRODUCT_VERSION="V2.0";
TMP_COMPANY_NAME="XXX公司";
TMP_PRODUCT_KEY="88888888";
TMP_TITLE_CAPTIONBAR="0";
szBmpPath=SUPPORTDIR^"left.bmp";
DialogSetInfo(DLG_INFO_ALTIMAGE, szBmpPath, FALSE); // 設定左邊的圖片
//To Do: if you want to enable background, window title, and caption bar title
SetTitle( @TITLE_MAIN, 24, WHITE );
SetTitle( @TITLE_CAPTIONBAR, 0, BACKGROUNDCAPTION );
Enable( FULLWINDOWMODE );
Enable( BACKGROUND );
SetColor(BACKGROUND,RGB (0, 128, 128));
PlaceBitmap (szBmpPath, BITMAP_ID, 0, 0, FULLSCREEN);
//預設值設定
TARGETDIR = "C:"^"inetpub"^@FOLDER_NAME;
szDir = TARGETDIR;
SHELL_OBJECT_FOLDER = @FOLDER_NAME;
svName = "";
svCompany = "";
svSerial = "88888888";
if (CheckIIS()==1) then // 樣本:檢查系統是否安裝IIS
//MessageBox ("已經安裝了IIS,安裝繼續!",SEVERE);
goto Dlg_Start;
else
MessageBox ("該系統沒有安裝IIS,請先安裝IIS!",WARNING);
goto end_all_install;//結束安裝
endif;
Dlg_Start:// 開始對話方塊
Dlg_SdWelcome: //歡迎 對話方塊
szTitle = "歡迎安裝使用 "+TMP_PRODUCT_NAME+" "+TMP_PRODUCT_VERSION;
szMsg = "";
nResult = SdWelcome( szTitle, szMsg );
if (nResult = BACK) goto Dlg_Start;
Dlg_SdLicense://軟體許可協議 對話方塊
szLicenseFile = SUPPORTDIR ^ "license.txt";
szTitle = "終端使用者許可協議";
szMsg = "";
szQuestion = "";
nResult = SdLicense( szTitle, szMsg, szQuestion, szLicenseFile );
if (nResult = BACK) goto Dlg_SdWelcome;
Dlg_SdShowInfoList://readme檔案 對話方塊
szFile = SUPPORTDIR ^ "infolist.txt";
list = ListCreate( STRINGLIST );
ListReadFromFile( list, szFile );
szTitle = "系統資訊概述";
szMsg = "系統概述";
nResult = SdShowInfoList( szTitle, szMsg, list );
ListDestroy( list );
if (nResult = BACK) goto Dlg_SdLicense;
Dlg_SdRegisterUserEx://使用者資訊 對話方塊
szMsg = "";
szTitle = "使用者資訊註冊";
svCompany = "XXX省";
svSerial = "XXX單位";
nResult = SdRegisterUserEx( szTitle, szMsg, svName, svCompany, svSerial );
if (nResult = BACK) goto Dlg_SdShowInfoList;
//檢查序號
//if (CHK_serial(svCompany, svSerial)<0) then
//goto Dlg_SdRegisterUserEx;
//endif;
//檢查序號完畢
Dlg_InputADAdmin://設定AD目錄伺服器的IP和使用者名稱
szTitle = "設定目錄(AD)伺服器";
szMsg = "現在開始設定目錄(AD)伺服器的IP、管理員帳號和密碼";
szQuestion=" 請輸入目錄(AD)伺服器的管理員帳號和密碼,安裝程式將按照您提供的IP地址、帳號和密碼進行配置。如果您提供的帳號或密碼錯誤的話,該系統將不能正常使用!";
szADsvr="IP地址:";
szADusr="帳 號:";
szADpwd="密 碼:";
szADsvrDefault="192.168.8.8";
szADusrDefault="Administrator";
szADpwdDefault="";
SetDialogTitle(DLG_ASK_TEXT,szTitle);
nResult=SdShowDlgEdit3 (szTitle, szQuestion,szADsvr,szADusr,szADpwd,szADsvrDefault