使用InstallShield制作ASP安装程序(5)

网络整理 - 07-26
////////////////////////////////////////////////////////////////////////////////
//                                                                            
//  IIIIIII SSSSSS                                                            
//    II    SS                          InstallShield (R)                    
//    II    SSSSSS      (c) 1996-1999, 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. With minor          
//                modifications, this template can be adapted to create      
//                new, customized setups.
//
////////////////////////////////////////////////////////////////////////////////


// Include header files
    
    #include "ifx.h" //DO NOT REMOVE
    
////////////////////// string defines ////////////////////////////

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

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


    // your DLL function prototypes


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


    // your script function prototypes

    // your global variables



//////////////////////////////////////////////////////////////////////////////
//                                                                          
//  FUNCTION:  OnFirstUIBefore                                            
//                                                                          
//  EVENT:      FirstUIBefore event is sent when installation is run for the first
//              time on given machine. In the handler installation usually displays
//              UI allowing end user to specify installation parameters. After this
//              function returns, ComponentTransferData is called to perform file
//              transfer.
//                                                                          
///////////////////////////////////////////////////////////////////////////////
function OnFirstUIBefore()
    NUMBER  nResult,nSetupType;
    STRING  szTitle, szMsg;
    STRING  szLicenseFile, szQuestion;
    STRING  svName, svCompany, svSerial;
    STRING  szDir;
    STRING  szfolder;
    STRING  szComponents, szTargetdir;
    NUMBER  nLevel;

begin

  
    //To Do: if you want to enable background, window title, and caption bar title                                                                    
    // SetTitle( @TITLE_MAIN, 24, WHITE );                                        
    // SetTitle( @TITLE_CAPTIONBAR, 0, BACKGROUNDCAPTION );                   
    // Enable( FULLWINDOWMODE );   
    // Enable( BACKGROUND );   
    // SetColor(BACKGROUND,RGB (0, 128, 128));   
  
    //默认值设定
    TARGETDIR = "C:\\Inetpub\\wwwroot\\WebApp";
    szDir = TARGETDIR;
    SHELL_OBJECT_FOLDER = @FOLDER_NAME;  
    svName    = "Daniel";
    svCompany = "N/A";
    svSerial = "111-1111111";

    Dlg_Start:
    // beginning of dialogs label

    Dlg_SdWelcome:
    szTitle = "";
    szMsg  = "";
    nResult = SdWelcome( szTitle, szMsg );
    if (nResult = BACK) goto Dlg_Start;

    Dlg_SdLicense:
    szLicenseFile = SUPPORTDIR ^ "license.txt";
    szTitle    = "";
    szMsg      = "";
    szQuestion = "";
    nResult    = SdLicense( szTitle, szMsg, szQuestion, szLicenseFile );
    if (nResult = BACK) goto Dlg_SdWelcome;

    Dlg_SdRegisterUserEx:
    szMsg  = "";
    szTitle = "";
    nResult = SdRegisterUserEx( szTitle, szMsg, svName, svCompany, svSerial );
    //验证序列号
    if (svSerial !="111-1111111") then
    MessageBox ("InValid Serial!",WARNING);
    goto Dlg_SdRegisterUserEx;
    endif;
    if (nResult = BACK) goto Dlg_SdLicense;

    Dlg_SdAskDestPath:
    szTitle = "";
    szMsg  = "";
    nResult = SdAskDestPath( szTitle, szMsg, szDir, 0 );
    TARGETDIR = szDir;
    if (nResult = BACK) goto Dlg_SdRegisterUserEx;

    Dlg_SdComponentTree:
    if ((nResult = BACK) && (nSetupType != CUSTOM)) goto Dlg_SdAskDestPath;
    szTitle    = "";
    szMsg      = "";
    szTargetdir = TARGETDIR;
    szComponents = "";
    nLevel = 2;
    if (nSetupType = CUSTOM) then
nResult = SdComponentTree(szTitle, szMsg, szTargetdir, szComponents, nLevel);
if (nResult = BACK) goto Dlg_SdAskDestPath;  
    endif;

    Dlg_SdSelectFolder:
    szfolder = SHELL_OBJECT_FOLDER;
    szTitle    = "";
    szMsg      = "";
    nResult    = SdSelectFolder( szTitle, szMsg, szfolder );
    SHELL_OBJECT_FOLDER = szfolder;
    if (nResult = BACK) goto Dlg_SdComponentTree;
    
  
    // setup default status
    SetStatusWindow(0, "");
    Enable(STATUSEX);
    StatusUpdate(ON, 100);

    return 0;

end;