`
jjs_love
  • 浏览: 81198 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Setup.rul

    博客分类:
  • JAVA
阅读更多

//===========================================================================
//
//  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;

分享到:
评论

相关推荐

    InstallShield2008脚本安装制作方法Setup

    `Setup.rul`文件是InstallShield项目中的主要脚本文件,负责定义安装过程中的逻辑流程。这份脚本提供了安装程序的骨架,包含了初始化设置、用户界面交互以及最终的安装执行等关键环节。 #### 事件处理函数:`...

    InstallShield2008驱动安装包制作方法

    1. **行为与逻辑设置**:在“Behavior and Logic”选项中选择“InstallScript”,点击左侧的“Setup.rul”脚本编辑文件。 2. 选择“Before Move Data”,然后选择“OnFirstUIBefore”函数,将会在“Setup.rul”里...

    用installscript获取本机IP.rar

    在"用installscript获取本机IP.rar"这个压缩包中,包含了一个名为"setup.rul"的脚本文件和一个可能包含自定义函数的文件。"setup.rul"通常是InstallShield项目的主要规则文件,它定义了安装过程的顺序和行为。在本例...

    CD Browser Written in InstallScript

    This is a modified setup.rul that lets the user select which product to install, and launches the appropriate setup.Provided by Hans Krauer

    利用Osql实现SQL Server数据库的自动安装注册.pdf

    - **利用InstallShield集成Osql脚本**:在InstallShield项目中,可以编写安装规则(Setup.rul),在安装过程中调用Osql脚本,从而实现数据库的自动安装和注册。 - **示例步骤**: 1. 创建一个InstallShield项目,...

    InstallShield 12打包ArcEngineRuntime

    - **脚本编写**:在解决方案管理器中选择**Behavior and Logic**下的**InstallScript**选项卡,打开**Setup.rul**脚本文件。虽然默认情况下脚本可能不可见,但可以编辑以实现特定功能。例如,可以编写脚本来自动执行...

    Installshield12应用教程

    教程中还提供了参考脚本(Setup.rul),帮助用户理解并实践上述步骤。通过这种方式,用户能够根据自己的需求创建出复杂而完整的安装程序,实现一键式安装。尽管原文档未提供完整内容,但其结构清晰,涵盖了使用...

    Installshield Traning Data.ppt

    在"Setup.Rul"文件中,选择"Before Move Data"项,然后在此处创建和编辑这些函数,以实现特定的安装逻辑。 总结来说,使用Installshield进行电视调谐器驱动安装包的创建,需要精心规划项目类型、操作系统支持、产品...

    InstallShield 12 使用手册,教程

    提供的参考脚本(如`Setup.rul`)是整个安装过程的核心,包含了安装程序的所有逻辑和指令。它是InstallShield项目的重要组成部分,通过编辑和调整脚本,可以实现更复杂的安装行为。 总的来说,InstallShield 12 ...

    installshield简单教程

    示例中的`Setup.rul`文件是一个规则脚本,用于控制安装过程中的特定行为。例如,`GetSeed`和`MD5Check`函数可能是用于验证序列号或检查MD5哈希的自定义功能。使用InstallShield的脚本语言,你可以编写更复杂的逻辑...

    win2022无线卡驱动win2022无线卡驱动无法安装解决方法.docx

    5. **Win8系统安装无线网卡驱动时报错setup.rul 342的处理办法**:针对特定错误代码提供了详细的排除方案。 通过上述步骤和技术背景的介绍,相信可以有效帮助用户解决在Windows Server 2003环境下无线网卡驱动无法...

    利用InstallShield2021制作AE(ArcGIS Engine10.2 打包)开发的应用程序的安装包

    //// 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 ...

    InstallShield_打包实例

    5. **安装逻辑**:编写脚本(如`Setup.rul`)以定义安装过程中的行为,如启动、安装、结束时的逻辑处理。 6. **发布与测试**:最后,生成安装包并进行测试,确保安装程序在目标系统上能正确运行。 接下来,我们...

    Installshield6.22安装脚本文件样例

    该文件名为`Setup.rul`,是一份由`Installshield`自动生成的基础安装脚本。根据其描述,这份脚本是基于项目向导的选择而生成的,并提供了修改脚本的建议方法。脚本的主要功能在于定义了安装过程中的关键步骤和函数,...

    书生阅读器

    通常,安装过程包括运行“Reader72Setup.exe”这个可执行文件,按照向导提示完成安装。使用说明可能会指导用户如何打开SEP文件,如何设置阅读偏好,以及如何利用软件的各项功能。对于初学者,这些指南是必不可少的...

    文本文件类扩展名.txt

    setup sf sfl sfr sgen sgm sgml sh shader shaper shintrc shtm shtml si sid sign sim sitemap skel skel_sym sl slc slintrc slo slt slu sm sm1 sma smd smi smil sml smp ...

Global site tag (gtag.js) - Google Analytics