|  //===========================================================================////  File Name:    Setup.rul////  Description:  Blank setup main script file////  Comments:     Blank setup is an empty setup project. If you want to//      create a new project via. step-by step instructions use the//      Project Assistant.////===========================================================================
// Included header files ----------------------------------------------------#include "ifx.h"//#include "functions.rul"  //引入自定义函数string ip,user,pwd;                               
//---------------------------------------------------------------------------                                                                        // OnFirstUIBefore//// First Install UI Sequence - Before Move Data//// The OnFirstUIBefore event is called by OnShowUI when the setup is// running in first install mode. By default this event displays UI allowing// the end user to specify installation parameters.//// Note: This event will not be called automatically in a// program...endprogram style setup.//---------------------------------------------------------------------------function OnFirstUIBefore()    number  nResult, nLevel, nSize, nSetupType;    string  szTitle, szMsg, szOpt1, szOpt2, szLicenseFile;    string  szName, szCompany, szTargetPath, szDir, szFeatures;    BOOL    bLicenseAccepted;     string  zzJdk,zzTomcat,pathTomcat,svvalue,xmlpath;  //自定义    NUMBER  nType, nvSize;      //自定义begin        nSetupType = COMPLETE;    // szDir = TARGETDIR;   // szName = "";    //szCompany = "";    bLicenseAccepted = FALSE;        szDir="c:\\";    szName = "rcom";    szCompany = "rcom";    zzJdk="SOFTWARE\\JavaSoft\\Java Runtime Environment\\1.5";     zzTomcat="SOFTWARE\\Apache Software Foundation\\Tomcat\\5.0";    pathTomcat="";  // Beginning of UI Sequence   
Dlg_zzb:      //查找注册表看jdk,tomcat是否安装    
        RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);    if(RegDBKeyExist(zzJdk)!=1) then        MessageBox("先安装jdk",SEVERE);           abort;  endif;      nType = REGDB_STRING;
        if(RegDBKeyExist(zzTomcat)!=1) then        MessageBox("先安装tomcat",SEVERE);         abort;  else          RegDBGetKeyValueEx(zzTomcat, "InstallPath", nType, svvalue,nvSize);       pathTomcat=svvalue;       endif;           TARGETDIR=pathTomcat+"\\webapps";    //将项目安装到指定的目录          if (Is(FILE_EXISTS, pathTomcat+"\\common\\endorsed\\xml-apis.jar")) then       DeleteFile (pathTomcat+"\\common\\endorsed\\xml-apis.jar");     //将删除Tomcat目录下的多余的jar        // DeleteFile (pathTomcat+"\\common\\endorsed\\xml-apis.jar");     //将删除Tomcat目录下的多余的jar                endif;         CopyFile(SRCDIR^"\\server.xml",pathTomcat+"\\conf\\server.xml");//拷贝server.xml文件到tomcat下面                        Dlg_Start:    nResult = 0;
Dlg_SdWelcome:    szTitle = "";    szMsg = "";    //{{IS_SCRIPT_TAG(Dlg_SdWelcome)    nResult = SdWelcome( szTitle, szMsg );    //}}IS_SCRIPT_TAG(Dlg_SdWelcome)    if (nResult = BACK) goto Dlg_Start; 
      Dlg_SdLicense2:    szTitle = "";    szOpt1 = "";    szOpt2 = "";    //{{IS_SCRIPT_TAG(License_File_Path)    szLicenseFile = SUPPORTDIR ^ "License.rtf";    //}}IS_SCRIPT_TAG(License_File_Path)    //{{IS_SCRIPT_TAG(Dlg_SdLicense2)    nResult = SdLicense2Rtf( szTitle, szOpt1, szOpt2, szLicenseFile, bLicenseAccepted );    //}}IS_SCRIPT_TAG(Dlg_SdLicense2)    if (nResult = BACK) then          goto Dlg_SdWelcome;          else        bLicenseAccepted = TRUE;    endif;     
     Dlg_SdRegisterUser:    szMsg = "";    szTitle = "";    //{{IS_SCRIPT_TAG(Dlg_SdRegisterUser)     nResult = SdRegisterUser( szTitle, szMsg, szName, szCompany );    //}}IS_SCRIPT_TAG(Dlg_SdRegisterUser)      if (nResult = BACK) goto Dlg_SdLicense2;            // Dlg_SdInitDs:    // nResult=initDataSource();    //录入web连接信息       // if (nResult = -1) goto Dlg_SdInitDs;      //if (nResult = BACK) goto Dlg_SdRegisterUser;              Dlg_SetupType2:       szTitle = "";    szMsg = "";    nResult = CUSTOM;    //{{IS_SCRIPT_TAG(Dlg_SetupType2)     nResult = SetupType2( szTitle, szMsg, "", nSetupType, 0 );    //}}IS_SCRIPT_TAG(Dlg_SetupType2)    if (nResult = BACK) then        goto Dlg_SdRegisterUser;               else        nSetupType = nResult;        if (nSetupType != CUSTOM) then            szTargetPath = TARGETDIR;            nSize = 0;            FeatureCompareSizeRequired( MEDIA, szTargetPath, nSize );            if (nSize != 0) then                      MessageBox( szSdStr_NotEnoughSpace, WARNING );                goto Dlg_SetupType2;            endif;        endif;       endif;
Dlg_SdAskDestPath2:    if ((nResult = BACK) && (nSetupType != CUSTOM)) goto Dlg_SetupType2; szTitle = "";    szMsg = "";    if (nSetupType = CUSTOM) then                //{{IS_SCRIPT_TAG(Dlg_SdAskDestPath2)   nResult = SdAskDestPath2( szTitle, szMsg, szDir );                //}}IS_SCRIPT_TAG(Dlg_SdAskDestPath2)        TARGETDIR = szDir;    endif;    if (nResult = BACK) goto Dlg_SetupType2;
Dlg_SdFeatureTree:     if ((nResult = BACK) && (nSetupType != CUSTOM)) goto Dlg_SdAskDestPath2;    szTitle = "";    szMsg = "";    szFeatures = "";    nLevel = 2;    if (nSetupType = CUSTOM) then        //{{IS_SCRIPT_TAG(Dlg_SdFeatureTree)         nResult = SdFeatureTree( szTitle, szMsg, TARGETDIR, szFeatures, nLevel );        //}}IS_SCRIPT_TAG(Dlg_SdFeatureTree)        if (nResult = BACK) goto Dlg_SdAskDestPath2;      endif;
Dlg_SQLServer:    nResult = OnSQLServerInitialize( nResult );    if( nResult = BACK ) goto Dlg_SdFeatureTree;
Dlg_ObjDialogs:    nResult = ShowObjWizardPages( nResult );    if (nResult = BACK) goto Dlg_SQLServer;    Dlg_SdStartCopy2:    szTitle = "";    szMsg = "";    //{{IS_SCRIPT_TAG(Dlg_SdStartCopy2)     nResult = SdStartCopy2( szTitle, szMsg );     //}}IS_SCRIPT_TAG(Dlg_SdStartCopy2)    if (nResult = BACK) goto Dlg_ObjDialogs;
    // Added in 11.0 - Set appropriate StatusEx static text.    SetStatusExStaticText( SdLoadString( IDS_IFX_STATUSEX_STATICTEXT_FIRSTUI ) );       return 0;end;
  |