亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

使用InstallShield制作ASP安裝程序(4)

2019-11-18 20:22:14
字體:
來源:轉載
供稿:網友
///////////////////////////////////////////////////////////////////////////////
//
// FUNCTION: OnMaintUIAfter
//
// EVENT: MaintUIAfter event is sent after file transfer, when end user runs
// installation that has already been installed on the machine. Usually
// this happens through Add/Remove PRograms applet.
// In the handler installation usually displays UI that will inform
// end user that maintenance/uninstallation has been completed successfully.
//
///////////////////////////////////////////////////////////////////////////////
function OnMaintUIAfter()
STRING szTitle, szMsg1, szMsg2, szOption1, szOption2;
NUMBER bOpt1, bOpt2;
begin
Disable(STATUSEX);
bOpt1 = FALSE;
bOpt2 = FALSE;
szMsg1 = SdLoadString(IFX_SDFINISH_MAINT_MSG1);
szMsg2 = "";
szOption1 = "";
szOption2 = "";
szTitle = SdLoadString(IFX_SDFINISH_MAINT_TITLE);
SdFinishEx(szTitle,szMsg1,szMsg2,szOption1,szOption2,bOpt1,bOpt2);
return 0;
end;

///////////////////////////////////////////////////////////////////////////////
//
// FUNCTION: OnMoving
//
// EVENT: Moving event is sent when file transfer is started as a result of
// ComponentTransferData call, before any file transfer Operations
// are performed.
//
///////////////////////////////////////////////////////////////////////////////
function OnMoving()
STRING szAppPath;
begin
// Set LOGO Compliance application Path
// TO DO : if your application .exe is in a subfolder of TARGETDIR then add subfolder
szAppPath = TARGETDIR;
RegDBSetItem(REGDB_APPPATH, szAppPath);
RegDBSetItem(REGDB_APPPATH_DEFAULT, szAppPath ^ @PRODUCT_KEY);

end;

// --- include script file section ---


function LoginSQL( szTitle,szSqlsvname,szSqluser,szSqlpassWord )

STRING szDlg, szTemp;
NUMBER bDone, nId, nMessage, nTemp;
INT hwndDlg;
HWND hwndControl;
begin
szDlg = "DLG_LoginSQLSV";

// record data produced by this dialog
if (MODE=SILENTMODE) then
SdMakeName( szAppKey, szDlg, szTitle, nLoginSQL );
SilentReadData( szAppKey, "Result", DATA_NUMBER, szTemp, nId );
if ((nId != BACK) && (nId != CANCEL)) then
SilentReadData( szAppKey, "szSqlsvname", DATA_STRING, szSqlsvname, nTemp );
SilentReadData( szAppKey, "szSqluser", DATA_STRING, szSqluser, nTemp );
SilentReadData( szAppKey, "szSqlpassword", DATA_STRING, szSqlpassword, nTemp );
endif;

return nId;
endif;

// ensure general initialization is complete
if (!bSdInit) then
SdInit();
endif;

if (EzDefineDialog( szDlg, "", "",DLG_LoginSQLSV ) = DLG_ERR) then
return -1;
endif;

// 在用戶選擇標準按鈕前進行循環
bDone = FALSE;

while (!bDone)

nId = WaitOnDialog( szDlg );//顯示對話框
hwndControl = GetDlgItem (hwndDlg, SD_EDIT_SQLSV_NAME);
SetFocus (hwndControl);

switch(nId)
case DLG_INIT:
CtrlSetText( szDlg, SD_EDIT_SQLSV_NAME, szSqlsvname );
CtrlSetText( szDlg, SD_EDIT_SQLSV_USER, szSqluser );
CtrlSetText( szDlg, SD_EDIT_SQLSV_PASSWORD, szSqlpassword );

hwndDlg = CmdGetHwndDlg( szDlg );
SdGeneralInit( szDlg, hwndDlg, STYLE_NORMAL, szSdProduct );

//This function sets the caption for old style dialogs or
//sets the text in the top banner area of win2k style dialogs
SdSetDlgTitle(szDlg, hwndDlg, szTitle);
case SD_EDIT_SQLSV_NAME:
nMessage = CtrlGetSubCommand( szDlg );
if( nMessage = EDITBOX_CHANGE ) then
CtrlGetText( szDlg, SD_EDIT_SQLSV_NAME, szSqlsvname );
endif;
case SD_EDIT_SQLSV_USER:
nMessage = CtrlGetSubCommand( szDlg );
if( nMessage = EDITBOX_CHANGE ) then
CtrlGetText( szDlg, SD_EDIT_SQLSV_USER, szSqluser );
endif;
case SD_EDIT_SQLSV_PASSWORD:
nMessage = CtrlGetSubCommand( szDlg );
if( nMessage = EDITBOX_CHANGE ) then
CtrlGetText( szDlg, SD_EDIT_SQLSV_PASSWORD, szSqlpassword );
endif;
case OK:
nId = NEXT;
bDone = TRUE;

case BACK:
nId = BACK;
bDone = TRUE;

case DLG_ERR:
SdError( -1, "SdWelcome" );
nId = -1;
bDone = TRUE;

case DLG_CLOSE:
SdCloseDlg( hwndDlg, nId, bDone );

default:
// check standard handling
if (SdIsStdButton( nId ) && SdDoStdButton( nId )) then
bDone = TRUE;
endif;
endswitch;

endwhile;

EndDialog( szDlg );
ReleaseDialog( szDlg );

SdUnInit( );

// record data produced by this dialog
SdMakeName( szAppKey, szDlg, szTitle, nLoginSQL );
SilentWriteData( szAppKey, "szSqlsvname", DATA_STRING, szSqlsvname, 0 );
SilentWriteData( szAppKey, "szSqluser", DATA_STRING, szSqluser, 0 );
SilentWriteData( szAppKey, "szSqlpassword", DATA_STRING, szSqlpassword, 0 );
SilentWriteData( szAppKey, "Result", DATA_NUMBER, "", nId );

return nId;

end;

function exeSQLfile( szsqlfilename )
STRING szCmdLine;
NUMBER nTemp;
begin
szCmdLine = SUPPORTDIR ^"osql.exe";
if (LaunchAppAndWait(SUPPORTDIR ^"osql.exe", szsqlfilename,WAIT) < 0) then
MessageBox ("不能運行SQL安裝文件.",SEVERE);
endif;

end;

function modifdbdir()
STRING szinstallfile;
NUMBER nvResult,nvLineNumber;
STRING szwindir,svReturnLine;
NUMBER sn,nStartPos;
STRING sz1,sz2,sznewdir;
NUMBER nTemp;
begin
szinstallfile = TARGETDIR ^"install//createdb.sql";
//替換 DB文件的建立路徑
while (nvResult != END_OF_FILE)
nvResult = FileGrep (szinstallfile, "D://cycdata//", svReturnLine,nvLineNumber, RESTART);
//FileDeleteLine(szodbcregfile, nvLineNumber, nvLineNumber);
sn=StrLength (svReturnLine);
nStartPos = StrFind(svReturnLine,"D://cycdata//");
StrSub (sz1, svReturnLine, 0, nStartPos);
StrSub (sz2, svReturnLine, nStartPos+11, sn-nStartPos-11);
sznewdir=sz1+TARGETDIR ^sz2;
FileInsertLine(szinstallfile, sznewdir,nvLineNumber, REPLACE);
sz1="";
sz2="";
sznewdir="";
endwhile;

end;

//////////////////////////////////////////////////////////////////////////////
//
// FUNCTION: OnFileReadOnly
//
// EVENT: FileReadOnly event is sent during file transfer when a read-only
// file is needs to be overwritten or removed.
//
// ARGUMENTS: File - full path of file that is marked as read-only.
//
// RETURN: ERR_YES - the file should be overwritten or removed.
// ERR_NO - the file should not be modified.
//
///////////////////////////////////////////////////////////////////////////////
function OnFileReadOnly(File)
begin
return SdExceptions(READONLY, File);
end;

//////////////////////////////////////////////////////////////////////////////
//
// FUNCTION: OnFileReadOnly
//
// EVENT: FileReadOnly event is sent during file transfer when a read-only
// file is needs to be overwritten or removed.
//
// ARGUMENTS: File - full path of file that is marked as read-only.
//
// RETURN: ERR_YES - the file should be overwritten or removed.
// ERR_NO - the file should not be modified.
//



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
热99精品里视频精品| 国产午夜精品美女视频明星a级| 久久99久久99精品免观看粉嫩| 国产精品99久久久久久人| 欧美激情综合色综合啪啪五月| 欧美日韩在线视频一区| 一区二区三区亚洲| 亚洲国产高清高潮精品美女| 午夜免费在线观看精品视频| 亚洲欧洲日本专区| 成人日韩在线电影| 91精品免费看| 日韩精品在线观| 中文字幕亚洲一区二区三区五十路| 午夜剧场成人观在线视频免费观看| 黑人极品videos精品欧美裸| 国产精自产拍久久久久久| 成人免费视频xnxx.com| 日韩av免费在线看| 精品久久中文字幕久久av| 日本精品视频在线播放| 国产精品美女www| 午夜美女久久久久爽久久| 26uuu国产精品视频| 精品日韩美女的视频高清| 国产精品一区久久久| 久久久伊人欧美| 久久久久久com| 97欧美精品一区二区三区| 欧美日韩视频在线| 欧美高清无遮挡| 亚洲影影院av| 欧美日韩国产丝袜美女| 日韩国产精品亚洲а∨天堂免| 疯狂蹂躏欧美一区二区精品| 欧美一级淫片播放口| 日韩影视在线观看| 68精品久久久久久欧美| 色噜噜亚洲精品中文字幕| 91产国在线观看动作片喷水| 97视频在线观看视频免费视频| 国产精品久久久久久久久久东京| 精品一区二区三区四区在线| 亚洲激情国产精品| 色偷偷9999www| 久久婷婷国产麻豆91天堂| 日韩中文有码在线视频| 国产精品福利在线观看网址| 欧美性色视频在线| 国产欧美一区二区三区久久人妖| 日本高清视频一区| 亚洲韩国青草视频| 欧美午夜无遮挡| 亚洲综合国产精品| 亚洲国产一区二区三区在线观看| 清纯唯美日韩制服另类| 久久中文精品视频| 26uuu日韩精品一区二区| 97国产成人精品视频| 国产ts一区二区| 欧美日韩福利视频| 国产亚洲欧美日韩精品| 97精品国产aⅴ7777| 亚洲成人三级在线| 中文.日本.精品| 伊人精品在线观看| 国产精品入口日韩视频大尺度| 欧美极品少妇与黑人| 午夜欧美不卡精品aaaaa| 欧美多人乱p欧美4p久久| 国产成人av在线播放| 亚洲欧美日韩中文在线| 91国产精品电影| 欧美丰满少妇xxxx| 日韩欧美亚洲综合| 国产精品成人免费视频| 91午夜在线播放| 欧美有码在线观看视频| 欧美亚洲另类制服自拍| 亚洲毛片在线看| 日韩免费不卡av| 国产性猛交xxxx免费看久久| 亚洲新中文字幕| 一区二区三区www| 日韩av在线免费观看一区| 国产激情视频一区| 亚洲аv电影天堂网| 欧美亚洲第一区| 成人免费福利在线| 黑人精品xxx一区一二区| 日韩小视频在线| 国产v综合ⅴ日韩v欧美大片| 亚洲国产天堂久久综合网| 亚洲日韩第一页| 久久不射电影网| 91爱爱小视频k| 中文字幕亚洲欧美| 伊人久久久久久久久久| 成人欧美一区二区三区黑人| 538国产精品视频一区二区| 欧美一级大胆视频| 亚洲国产精品99久久| 中文字幕在线观看日韩| 理论片在线不卡免费观看| 91精品国产色综合| 亚洲激情国产精品| 亚洲美女av黄| 精品免费在线视频| 国产福利精品在线| 色yeye香蕉凹凸一区二区av| 在线观看成人黄色| 日韩av在线一区| 深夜成人在线观看| 日韩在线资源网| 另类天堂视频在线观看| 欧美国产第一页| 亚洲xxxx妇黄裸体| 亚洲国产成人久久综合| 欧美黄色性视频| 一本色道久久88亚洲综合88| 国产精品久久77777| 久久久久久亚洲精品| 欧美色欧美亚洲高清在线视频| 欧美激情在线播放| 亚洲成人激情小说| 亚洲人成网站999久久久综合| 欧美美最猛性xxxxxx| 国产精品久久久久秋霞鲁丝| 2018国产精品视频| 国产精品第8页| 欧美日韩第一视频| 国产亚洲成精品久久| 亚洲丁香久久久| 国产精品a久久久久久| 精品久久久久久| 欧美日韩国产成人在线| 久久久久久久久久久免费| 亚洲精品日产aⅴ| 91精品国产高清久久久久久| 亚洲最大福利视频网| 久久人人看视频| 亚洲精品国产精品乱码不99按摩| 欧美在线视频在线播放完整版免费观看| 中文字幕亚洲一区二区三区五十路| 欧日韩在线观看| 亚洲综合一区二区不卡| 国产999精品久久久影片官网| 欧美国产日韩二区| 国产91色在线|免| 国产女精品视频网站免费| 国产精品美女午夜av| 性金发美女69hd大尺寸| 欧美中文在线观看国产| 狠狠躁天天躁日日躁欧美| 国产精品久久久久久久久久三级| 久久久久久久久中文字幕| 亚洲人成欧美中文字幕| 亚洲小视频在线观看| 国产va免费精品高清在线| 国产欧美韩国高清| 伊人一区二区三区久久精品| 国产欧美精品日韩| 欧美福利视频在线观看| 午夜精品久久久久久久99黑人|