亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? setup.rul

?? visual c++網絡通信程序開發指南附帶的程序所有的源碼。
?? RUL
?? 第 1 頁 / 共 2 頁
字號:

////////////////////////////////////////////////////////////////////////////////
//
//  IIIIIII SSSSSS
//    II    SS                          InstallShield (R)
//    II    SSSSSS      (c) 1996-1997, InstallShield Software Corporation
//    II        SS      (c) 1990-1996, InstallShield Corporation
//  IIIIIII SSSSSS                     All Rights Reserved.
//
//
//  This code is generated as a starting setup template.  You should
//  modify it to provide all necessary steps for your setup.
//
//
//    File Name:  Setup.rul
//
//  Description:  InstallShield script
//
//     Comments:  This template script performs a basic setup on a
//                Windows 95 or Windows NT 4.0 platform. With minor
//                modifications, this template can be adapted to create
//                new, customized setups.
//
////////////////////////////////////////////////////////////////////////////////


  // Include header file
#include "sdlang.h"
#include "sddialog.h"

////////////////////// string defines ////////////////////////////

#define UNINST_LOGFILE_NAME      "Uninst.isu"

//////////////////// installation declarations ///////////////////

  // ----- DLL prototypes -----


     // your DLL prototypes


  // ---- script prototypes -----

     // generated
     prototype ShowDialogs();
     prototype MoveFileData();
     prototype HandleMoveDataError( NUMBER );
     prototype ProcessBeforeDataMove();
     prototype ProcessAfterDataMove();
     prototype SetupRegistry();
     prototype SetupFolders();
     prototype CleanUpInstall();
     prototype SetupInstall();
     prototype SetupScreen();
     prototype CheckRequirements();
     prototype DialogShowSdWelcome();
     prototype DialogShowSdLicense();
     prototype DialogShowSdRegisterUserEx();
     prototype DialogShowSdAskDestPath();
     prototype DialogShowSdSetupType();
     prototype DialogShowSdComponentDialog2();
     prototype DialogShowSdSelectFolder();
     prototype DialogShowSdFinishReboot();

     // your prototypes


  // ----- global variables ------

     // generated
     BOOL        bWinNT, bIsShellExplorer, bInstallAborted, bIs32BitSetup;
     STRING      svDir;
     STRING      svName, svCompany, svSerial;
     STRING      szAppPath;
     STRING      svSetupType;


     // your global variables


///////////////////////////////////////////////////////////////////////////////
//
//   MAIN PROGRAM
//
//      The setup begins here by hiding the visible setup
//      window.  This is done to allow all the titles, images, etc. to
//      be established before showing the main window.  The following
//      logic then performs the setup in a series of steps.
//
///////////////////////////////////////////////////////////////////////////////
program
    Disable( BACKGROUND );

    CheckRequirements();

    SetupInstall();

    SetupScreen();

    if (ShowDialogs()<0) goto end_install;

    if (ProcessBeforeDataMove()<0) goto end_install;

    if (MoveFileData()<0) goto end_install;

    if (ProcessAfterDataMove()<0) goto end_install;

    if (SetupRegistry()<0) goto end_install;

    if (SetupFolders()<0) goto end_install;


  end_install:

    CleanUpInstall();

     // If an unrecoverable error occurred, clean up the partial installation.
     // Otherwise, exit normally.

    if (bInstallAborted) then
        abort;
    endif;

endprogram

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Function:  ShowDialogs                                                    //
//                                                                           //
//  Purpose:  This function manages the display and navigation               //
//            the standard dialogs that exist in a setup.                    //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
function ShowDialogs()
    NUMBER  nResult;
 begin

    Dlg_Start:
        // beginning of dialogs label

    Dlg_SdWelcome:
        nResult = DialogShowSdWelcome();
        if (nResult = BACK) goto Dlg_Start;

    Dlg_SdLicense:
        nResult = DialogShowSdLicense();
        if (nResult = BACK) goto Dlg_SdWelcome;

    Dlg_SdRegisterUserEx:
        nResult = DialogShowSdRegisterUserEx();
        if (nResult = BACK) goto Dlg_SdLicense;

    Dlg_SdAskDestPath:
        nResult = DialogShowSdAskDestPath();
        if (nResult = BACK) goto Dlg_SdRegisterUserEx;

    Dlg_SdSetupType:
        nResult = DialogShowSdSetupType();
        if (nResult = BACK) goto Dlg_SdAskDestPath;

    Dlg_SdComponentDialog2:
        if ((nResult = BACK) && (svSetupType != "Custom") && (svSetupType != "")) then
           goto Dlg_SdSetupType;
        endif;
        nResult = DialogShowSdComponentDialog2();
        if (nResult = BACK) goto Dlg_SdSetupType;

    Dlg_SdSelectFolder:
        nResult = DialogShowSdSelectFolder();
        if (nResult = BACK) goto Dlg_SdComponentDialog2;

    return 0;

 end;

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Function: ProcessBeforeDataMove                                           //
//                                                                           //
//  Purpose: This function performs any necessary operations prior to the    //
//           actual data move operation.                                     //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
function ProcessBeforeDataMove()
    STRING svLogFile;
    NUMBER nResult;
 begin

  InstallationInfo( @COMPANY_NAME, @PRODUCT_NAME, @PRODUCT_VERSION, @PRODUCT_KEY );

  svLogFile = UNINST_LOGFILE_NAME;

  nResult = DeinstallStart( svDir, svLogFile, @UNINST_KEY, 0 );
  if (nResult < 0) then
      MessageBox( @ERROR_UNINSTSETUP, WARNING );
  endif;

  szAppPath = TARGETDIR; // TODO : if your application .exe is in a subdir of TARGETDIR then add subdir

  if ((bIs32BitSetup) && (bIsShellExplorer)) then
      RegDBSetItem( REGDB_APPPATH, szAppPath );
      RegDBSetItem( REGDB_APPPATH_DEFAULT, szAppPath ^ @PRODUCT_KEY );
      RegDBSetItem( REGDB_UNINSTALL_NAME, @UNINST_DISPLAY_NAME );
  endif;

  // TODO : update any items you want to process before moving the data
  //

  return 0;
 end;

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Function:  MoveFileData                                                   //
//                                                                           //
//  Purpose:  This function handles the data movement for                    //
//            the setup.                                                     //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
function MoveFileData()
    NUMBER nResult, nDisk;
 begin

  nDisk = 1;
  SetStatusWindow( 0, "" );
  Disable( DIALOGCACHE );
  Enable( STATUS );
  StatusUpdate( ON, 100 );
  nResult = ComponentMoveData( MEDIA, nDisk, 0 );

  HandleMoveDataError( nResult );

  Disable( STATUS );

  return nResult;

 end;


///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Function: HandleMoveDataError                                             //
//                                                                           //
//  Purpose: This function handles the error (if any) during the move data   //
//           operation.                                                      //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
function HandleMoveDataError( nResult )
    STRING szErrMsg, svComponent , svFileGroup , svFile;
 begin

  svComponent = "";
  svFileGroup = "";
  svFile = "";

  switch (nResult)
  case 0:
       return 0;
  default:
       ComponentError ( MEDIA , svComponent , svFileGroup , svFile , nResult );
       szErrMsg = @ERROR_MOVEDATA  + "\n\n" +
                  @ERROR_COMPONENT + " " + svComponent + "\n" +
                  @ERROR_FILEGROUP + " " + svFileGroup + "\n" +
                  @ERROR_FILE      + " " + svFile;
       SprintfBox( SEVERE, @TITLE_CAPTIONBAR, szErrMsg, nResult );
       bInstallAborted = TRUE;
       return nResult;
  endswitch;

 end;

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Function: ProcessAfterDataMove                                            //
//                                                                           //
//  Purpose: This function performs any necessary operations needed after    //
//           all data has been moved.                                        //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
function ProcessAfterDataMove()
 begin

  // TODO : update self-registered files and other processes that
  //        should be performed after the data has been moved.


  return 0;
 end;

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Function: SetupRegistry                                                   //
//                                                                           //
//  Purpose: This function makes the registry entries for this setup.        //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
function SetupRegistry()
 NUMBER nResult;

 begin

  // TODO : Add all your registry entry keys here
  //
  //
  //    RegDBCreateKeyEx, RegDBSetKeyValueEx....
  //

  nResult = CreateRegistrySet( "" );

  return nResult;
 end;

///////////////////////////////////////////////////////////////////////////////
//
// Function: SetupFolders
//
//  Purpose: This function creates all the folders and shortcuts for the
//           setup.  This includes program groups and items for Windows 3.1.
//
///////////////////////////////////////////////////////////////////////////////
function SetupFolders()
 NUMBER nResult;

 begin


  // TODO : Add all your folder (program group) along with shortcuts (program items)
  //
  //
  //    CreateProgramFolder, AddFolderIcon....
  //

  nResult = CreateShellObjects( "" );

  return nResult;
 end;

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Function: CleanUpInstall                                                  //
//                                                                           //
//  Purpose: This cleans up the setup.  Anything that should                 //
//           be released or deleted at the end of the setup should           //
//           be done here.                                                   //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
function CleanUpInstall()
 begin


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品国产更新| 色老汉一区二区三区| 丰满放荡岳乱妇91ww| 色欧美日韩亚洲| 精品国产凹凸成av人网站| 一区精品在线播放| 国产呦精品一区二区三区网站| 欧洲亚洲精品在线| 国产精品私人影院| 国产一区二区三区免费播放| 欧美日本国产一区| 亚洲一区日韩精品中文字幕| 国产成人亚洲精品狼色在线| 日韩欧美在线综合网| 一区av在线播放| 91女人视频在线观看| 国产精品视频免费看| 久久草av在线| 正在播放亚洲一区| 图片区小说区区亚洲影院| 色老汉一区二区三区| 亚洲免费伊人电影| 99久久99久久精品免费观看 | 亚洲男女毛片无遮挡| 国产乱对白刺激视频不卡| 日韩一区国产二区欧美三区| 亚洲va天堂va国产va久| 91久久精品一区二区| 精品一区在线看| 9191久久久久久久久久久| 亚洲一区二区三区精品在线| 欧亚洲嫩模精品一区三区| 一区二区三区中文字幕在线观看| 9人人澡人人爽人人精品| 国产精品电影院| 一本一道久久a久久精品| 亚洲日本青草视频在线怡红院| 97精品国产97久久久久久久久久久久| 日本一区二区电影| 一本色道久久综合亚洲aⅴ蜜桃| 中文字幕中文乱码欧美一区二区| 成人app软件下载大全免费| 中文字幕一区二区三区蜜月| 成人h动漫精品一区二区| 成人欧美一区二区三区白人| 91视视频在线观看入口直接观看www | 精品一区在线看| 国产色产综合产在线视频| 国产精品乡下勾搭老头1| 国产欧美日韩卡一| 91麻豆国产自产在线观看| 亚洲午夜久久久久久久久电影院| 欧美日韩大陆一区二区| 精品一区二区三区视频在线观看 | 国产原创一区二区| 中文字幕一区二区三区精华液 | 蜜桃一区二区三区在线观看| 精品国内片67194| 不卡视频在线看| 亚洲大片精品永久免费| 精品国产成人在线影院| 成人av资源网站| 亚洲成人资源网| 久久久久久久久久久久久女国产乱 | 欧美日韩国产经典色站一区二区三区| 男女性色大片免费观看一区二区| 国产亚洲综合性久久久影院| jvid福利写真一区二区三区| 五月婷婷色综合| 国产亚洲美州欧州综合国| 欧美三级韩国三级日本三斤| 精品在线免费视频| 伊人性伊人情综合网| 日韩欧美黄色影院| 色综合久久久久网| 精品一区二区在线免费观看| 国产欧美日韩一区二区三区在线观看| 91成人免费在线| 黄色日韩网站视频| 一区二区三区四区不卡在线 | 国产91在线观看丝袜| 亚洲图片欧美视频| 国产精品人妖ts系列视频| 欧美日韩国产欧美日美国产精品| 国产一区二区三区四区五区入口 | 7777精品伊人久久久大香线蕉的| 成熟亚洲日本毛茸茸凸凹| 视频一区国产视频| 又紧又大又爽精品一区二区| 久久精品视频一区二区| 欧美片网站yy| 日本国产一区二区| a美女胸又www黄视频久久| 欧美性生交片4| 亚洲福利视频三区| 97se狠狠狠综合亚洲狠狠| 国产精品私人影院| 99热99精品| 亚洲一区二区三区美女| 精品国产一区二区亚洲人成毛片| 久热成人在线视频| www精品美女久久久tv| 午夜日韩在线观看| 日韩成人伦理电影在线观看| 欧美日韩激情一区| 欧美午夜片在线观看| 99国产一区二区三精品乱码| 高清在线观看日韩| 国产原创一区二区三区| 久久av资源站| 精品一区二区三区免费| 青青草伊人久久| 日本中文字幕不卡| 麻豆精品一区二区综合av| 手机精品视频在线观看| 午夜欧美在线一二页| 五月天激情综合网| 日韩精品亚洲一区| 久久精品国产一区二区三区免费看| 男男gaygay亚洲| 毛片av一区二区| 狠狠色丁香婷综合久久| 国产在线精品视频| 丁香婷婷综合五月| 色综合色狠狠天天综合色| 色视频一区二区| 欧美日韩aaaaaa| 欧美一区二区三区视频免费播放| 欧美一级专区免费大片| 精品国内二区三区| 中文久久乱码一区二区| 亚洲三级小视频| 亚洲国产精品久久久男人的天堂| 日韩高清欧美激情| 国产一区在线精品| youjizz久久| 日本二三区不卡| 777亚洲妇女| www国产亚洲精品久久麻豆| 日本一区二区高清| 亚洲一级在线观看| 喷水一区二区三区| 成人午夜视频在线观看| 色屁屁一区二区| 日韩欧美中文字幕制服| 国产精品久久久久久久浪潮网站| 亚洲六月丁香色婷婷综合久久 | 高清不卡一二三区| 91片黄在线观看| 日韩午夜激情电影| 中文字幕精品一区二区三区精品| 一区二区三区在线观看国产| 日本vs亚洲vs韩国一区三区| 丰满白嫩尤物一区二区| 欧美日韩国产一区二区三区地区| 日韩免费观看高清完整版在线观看| 欧美激情一区二区三区四区| 五月天丁香久久| 不卡的电视剧免费网站有什么| 欧美一区二区三区公司| 亚洲欧美在线aaa| 日韩电影免费在线看| 91女人视频在线观看| 精品国产凹凸成av人网站| 亚洲精品中文在线影院| 欧美aaaaaa午夜精品| 91精品福利视频| 中文字幕av一区二区三区| 日韩专区在线视频| 色综合欧美在线视频区| 久久久精品2019中文字幕之3| 亚洲国产成人porn| 91小视频免费看| 久久久久久毛片| 蜜桃av一区二区在线观看| 91福利视频网站| 国产精品久久午夜夜伦鲁鲁| 蜜桃久久久久久久| 欧美在线综合视频| 成人欧美一区二区三区视频网页| 国产精品一区久久久久| 91精品国产丝袜白色高跟鞋| 亚洲已满18点击进入久久| 成人精品一区二区三区中文字幕| 日韩视频一区二区在线观看| 天天爽夜夜爽夜夜爽精品视频| 色综合久久综合中文综合网| 亚洲国产精品成人久久综合一区| 极品少妇xxxx精品少妇| 欧美一级搡bbbb搡bbbb| 亚洲3atv精品一区二区三区| 色激情天天射综合网| 亚洲乱码一区二区三区在线观看| 国产成人在线视频播放| 久久综合九色综合97_久久久| 日韩成人精品在线| 日韩一区二区三区高清免费看看| 午夜欧美电影在线观看| 欧美裸体一区二区三区| 午夜精品福利久久久|