• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

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

    發布: 2007-7-14 19:37 | 作者: 佚名    | 來源: 網絡轉載     | 查看: 12次 | 進入軟件測試論壇討論

    領測軟件測試網 ///////////////////////////////////////////////////////////////////////////////
    //
    // 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.
    //


    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>