[ 來源:動網(wǎng) ]
#include "ifx.h" //不能移動//////////////////////////////////////////////////////////////////////////////// 用InstallShield 進行 ASP 軟件的打包和自動安裝 // 原創(chuàng)作者: 賈俊 (Jaron)// 網(wǎng)址: http://www.jiangdu.net// 郵件: jaron@jdinfo.net// 首次發(fā)表于網(wǎng)易,ChinaASP,ASPHouse//////////////////////////////////////////////////////////////////////////////// 功能:// 1.文件復制// 2.可選自動設置獨立站點運行(設置IIS)// 3.可選自動設置虛擬站點運行(設置IIS)// 4.設置目錄可讀,可寫及可運行腳本// 5.自動創(chuàng)建ODBC// 6.自動創(chuàng)建或附加MDF格式的SQL數(shù)據(jù)庫 并優(yōu)化// 7.自動安裝 ScriptEncode 解碼程序// 本文僅列出了 InstallShield 的 Script 部分,還有兩個 VBS 文件及其他設置// 測試過程中有任何問題,請來 http://www.jiangdu.net/bbs 編程空間版 討論//////////////////////////////////////////////////////////////////////////////prototype CreateDataBase(STRING,STRING,STRING);prototype CreateWebSite(STRING,STRING); // 創(chuàng)建 IIS 站點prototype CreateVirtualDir(STRING); // 創(chuàng)建虛擬目錄
//////////////////////////////////////////////////////////////////////////////// // 函數(shù): OnFirstUIBefore // // 事件: FirstUIBefore event is sent when installation is run for the first// time on given machine. In the handler installation usually displays// UI allowing end user to specify installation parameters. After this// function returns, ComponentTransferData is called to perform file// transfer.// ///////////////////////////////////////////////////////////////////////////////function OnFirstUIBefore() NUMBER nResult,nSetupType,nOpt,svEdit1,svEdit2;STRING szTitle, szMsg,szBmpPath;STRING szLicenseFile, szQuestion;STRING szServerIP,szServerPort,szServerIPDefault,szServerPortDefault;STRING szSQLsvr,szSQLusr,szSQLpwd,svSQLsvr,svSQLusr,svSQLpwd;STRING svName, svCompany, svSerial;STRING szFile,szTargetPath,szDir,szfolder;STRING szComponents, szTargetdir;STRING szField1,szField2;STRING szDefault,svResult;OBJECT piisObj;LIST list,listStartCopy;NUMBER nLevel,nvSize;begin
szBmpPath="C:"^"temp"^"left.bmp";DialogSetInfo (DLG_INFO_ALTIMAGE, szBmpPath, TRUE); // 設置左邊的圖片//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));
//默認值設定TARGETDIR = "C:"^"inetpub"^"JaronSoft"^@FOLDER_NAME; szDir = TARGETDIR;SHELL_OBJECT_FOLDER = @FOLDER_NAME; svName = "試用版用戶";svCompany = "JDinfo Network";svSerial = "111-1111111";
Dlg_Start:// beginning of dialogs label
Dlg_SdWelcome: //歡迎 對話框szTitle = "歡迎進入";szMsg = "";nResult = SdWelcome( szTitle, szMsg );if (nResult = BACK) goto Dlg_Start;
Dlg_SdLicense://軟件許可協(xié)議 對話框szLicenseFile = SUPPORTDIR ^ "license.txt";szTitle = "許可協(xié)議";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 = "README";szMsg = "";nResult = SdShowInfoList( szTitle, szMsg, list ); ListDestroy( list );if (nResult = BACK) goto Dlg_SdLicense;
Dlg_SdRegisterUserEx://用戶信息 對話框szMsg = "";szTitle = "用戶信息"; nResult = SdRegisterUserEx( szTitle, szMsg, svName, svCompany, svSerial );if (nResult = BACK) goto Dlg_SdShowInfoList;//檢查序列號//if (CHK_serial(svCompany, svSerial)