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

首頁 > 編程 > ASP > 正文

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

2024-05-04 11:10:19
字體:
來源:轉載
供稿:網友
///////////////////////////////////////////////////////////////////////////////
//
// 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
久久久综合免费视频| 亚洲一区中文字幕在线观看| 国产午夜精品一区理论片飘花| 日韩中文字幕精品视频| 日韩小视频网址| 亚洲视频在线观看视频| 亚洲专区在线视频| 欧美视频中文字幕在线| 亚洲女性裸体视频| 成年无码av片在线| 国产午夜精品美女视频明星a级| 国产成人福利网站| 欧美成人免费在线观看| 亚洲伊人久久综合| 国产z一区二区三区| 日韩亚洲成人av在线| 欧美色道久久88综合亚洲精品| 色妞欧美日韩在线| 欧美性xxxx极品高清hd直播| 久久99热精品这里久久精品| 中文字幕亚洲综合久久筱田步美| 国产一区二区在线播放| 亚洲少妇中文在线| 91精品久久久久久久久不口人| 日本伊人精品一区二区三区介绍| 亚洲精品动漫久久久久| 青青草原成人在线视频| 欧美日韩国产一区中文午夜| 日韩中文字幕视频在线观看| 亚洲精品永久免费精品| 久久99久久亚洲国产| 狠狠色狠色综合曰曰| 欧美精品免费看| 97在线精品国自产拍中文| 色吧影院999| 亚洲在线第一页| 久久久久久成人精品| 国产精品亚洲精品| 国产一区二区三区在线视频| 国产成人精品在线| 夜夜狂射影院欧美极品| 久久久亚洲精品视频| 国产免费一区二区三区在线能观看| 国产精品对白刺激| 国产欧美日韩综合精品| 欧美大片第1页| 伊人伊成久久人综合网小说| 97avcom| 久久久精品一区| 欧美久久精品午夜青青大伊人| 亚洲欧美成人一区二区在线电影| 国产国产精品人在线视| 韩剧1988免费观看全集| 一区二区在线视频| 国产精品久久久久久久久久免费| 亚洲成色www8888| 另类视频在线观看| 97不卡在线视频| 日韩精品在线看| 日韩高清有码在线| 日韩av影视综合网| 久久精品国产一区二区三区| 久久精品视频免费播放| 欧美性猛xxx| 26uuu亚洲国产精品| 亚洲激情 国产| 久久国产精品偷| 精品国偷自产在线| 日韩成人av在线| 国产精品一区二区av影院萌芽| 亚洲精品一区在线观看香蕉| 亚洲a级在线观看| 91大神福利视频在线| 最新国产成人av网站网址麻豆| 精品久久久久国产| 国产成人精品免高潮费视频| 亚洲女人天堂视频| 热久久美女精品天天吊色| 日韩av在线免费观看一区| 久久网福利资源网站| 国产综合福利在线| 91在线精品播放| 欧美极品在线播放| 日本精品久久久久影院| www亚洲欧美| 欧美夫妻性视频| 久久国产精品电影| 日韩电影免费观看中文字幕| 亚洲精品乱码久久久久久金桔影视| 国产精品高潮呻吟久久av野狼| 第一福利永久视频精品| 国产性色av一区二区| 日韩电影中文字幕一区| 97精品一区二区三区| 日韩在线免费高清视频| 欧美精品制服第一页| 亚洲天堂色网站| 久久综合久久美利坚合众国| 青青久久av北条麻妃黑人| 国产在线一区二区三区| 国产精品久久久91| 色小说视频一区| 韩曰欧美视频免费观看| yellow中文字幕久久| 福利一区视频在线观看| 成人免费自拍视频| 久久久久久亚洲精品| 久久久久久久成人| 亚洲欧美激情精品一区二区| 亚洲人成电影网| 亚洲石原莉奈一区二区在线观看| 欧美激情一区二区三级高清视频| 91精品视频免费| 欧美日韩在线视频首页| 青青草国产精品一区二区| 精品亚洲va在线va天堂资源站| 久久国产视频网站| 日韩欧美亚洲一二三区| 欧美老女人bb| 日本亚洲欧洲色| 51久久精品夜色国产麻豆| 国产精品亚洲网站| 97视频在线观看成人| 亚洲一区二区三区香蕉| 另类色图亚洲色图| 久久久999精品| 国产精品电影网站| 亚洲自拍偷拍色图| 色婷婷综合久久久久中文字幕1| 美女性感视频久久久| 91精品视频在线免费观看| 亚洲毛片一区二区| 亚洲aaaaaa| 亚洲国产精品电影在线观看| 亚洲人成在线电影| 91精品视频在线播放| 久久国产一区二区三区| 国产欧美精品一区二区三区-老狼| 狠狠色噜噜狠狠狠狠97| 亚洲一区二区久久久| 久久人人爽人人爽人人片亚洲| 欧美—级a级欧美特级ar全黄| 国产精品18久久久久久首页狼| 亚洲第一福利视频| 欧美男插女视频| 久国内精品在线| 亚洲伊人久久综合| 精品高清美女精品国产区| 中文字幕日韩有码| 热99精品里视频精品| www.亚洲一区| 国产欧美日韩最新| 91产国在线观看动作片喷水| 日韩成人av在线播放| 久久高清视频免费| 97碰碰碰免费色视频| 国产香蕉精品视频一区二区三区| 国外成人在线直播| 欧美成人四级hd版| 欧美福利视频在线观看| 日韩在线视频二区| 亚洲午夜未满十八勿入免费观看全集| 欧美日本亚洲视频| 国产高清在线不卡|