1.安裝協議對話方塊代碼(其中license.txt是安裝協議內容)
Dlg_Start:
// beginning of dialogs label
Dlg_SdWelcome:
szTitle = "xx系統";
szMsg = "安裝程式即將在本機上安裝xx系統,確定是否繼續安裝?繼續請按【下一步(next)】";
nResult = SdWelcome( szTitle, szMsg );
if (nResult = BACK) goto Dlg_Start;
Dlg_SdLicense:
szLicenseFile = SUPPORTDIR ^ "license.txt";
szTitle = "xx系統";
szMsg = "";
szQuestion = "您是否接受該協議?接受請按【是(Yes)】。繼續安裝必須接受該協議。";
nResult = SdLicense( szTitle, szMsg, szQuestion, szLicenseFile );
if (nResult = BACK) goto Dlg_SdWelcome;
2.使用者資訊對話方塊(其中序號checkString是上篇中,安裝程式根據磁碟序列及 我們設定的編碼規則產生的字串)
Dlg_SdShowInfoList:
szTitle = "系統本地編號";
szMsg = "將下面的本地編號發送給許可權授予機構,在接收到相應的註冊碼後,您將進行繼續註冊!";
szField1 = "編號";
svEdit1 = localNum;
nResult = SdShowDlgEdit1(szTitle, szMsg,szField1, svEdit1);
if (nResult = BACK) goto Dlg_SdWelcome;
Dlg_SdRegisterUserEx:
szMsg = "";
szTitle = "";
nResult = SdRegisterUserEx( szTitle, szMsg, szName, szCompany, szSerial );
if (nResult = BACK) goto Dlg_SdShowInfoList;
if (szSerial != checkString) then
MessageBox( "錯誤!", SEVERE);
goto Dlg_SdRegisterUserEx;
endif;
ListDestroy( list );
if (nResult = BACK) goto Dlg_SdLicense;
3.選擇安裝路徑(包括判斷磁碟容量)
Dlg_SdAskDestPath: szTitle = "";
szMsg = "";
svTemp = szDir;
nResult = SdAskDestPath( szTitle, szMsg, szDir, 0 );
if ( svTemp != szDir) then
szDir = szDir^@COMPANY_NAME ^@PRODUCT_NAME;
endif;
TARGETDIR = szDir;
GetDisk (szDir, svDrive);
lFreeSpace = GetDiskSpace (svDrive);
if (lFreeSpace < 209715200) then
MessageBox("警告:安裝路徑所在的磁碟空間不足200M!請重新選擇!",SEVERE);
goto Dlg_SdAskDestPath;
endif;
if (nResult = BACK) goto Dlg_SdRegisterUserEx;
4.安裝類型對話方塊
Dlg_SetupType:
szTitle = "xx系統";
szMsg = "";
nResult = SetupType ( szTitle , szMsg , "" , nSetupType , 0 );
if (nResult = BACK) then
//goto Dlg_SdAskDestPath;
goto Dlg_SdRegisterUserEx
else
nSetupType = nResult;
if (nSetupType != CUSTOM) then
szTargetPath = TARGETDIR;
nvSize = 0;
ComponentCompareSizeRequired(MEDIA,szTargetPath,nvSize);
if (nvSize != 0) then
MessageBox( szSdStr_NotEnoughSpace, WARNING );
goto Dlg_SetupType;
endif;
endif;
endif;