//===========================================================================
//
// 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;
分享到:
相关推荐
`Setup.rul`文件是InstallShield项目中的主要脚本文件,负责定义安装过程中的逻辑流程。这份脚本提供了安装程序的骨架,包含了初始化设置、用户界面交互以及最终的安装执行等关键环节。 #### 事件处理函数:`...
1. **行为与逻辑设置**:在“Behavior and Logic”选项中选择“InstallScript”,点击左侧的“Setup.rul”脚本编辑文件。 2. 选择“Before Move Data”,然后选择“OnFirstUIBefore”函数,将会在“Setup.rul”里...
在"用installscript获取本机IP.rar"这个压缩包中,包含了一个名为"setup.rul"的脚本文件和一个可能包含自定义函数的文件。"setup.rul"通常是InstallShield项目的主要规则文件,它定义了安装过程的顺序和行为。在本例...
This is a modified setup.rul that lets the user select which product to install, and launches the appropriate setup.Provided by Hans Krauer
- **利用InstallShield集成Osql脚本**:在InstallShield项目中,可以编写安装规则(Setup.rul),在安装过程中调用Osql脚本,从而实现数据库的自动安装和注册。 - **示例步骤**: 1. 创建一个InstallShield项目,...
- **脚本编写**:在解决方案管理器中选择**Behavior and Logic**下的**InstallScript**选项卡,打开**Setup.rul**脚本文件。虽然默认情况下脚本可能不可见,但可以编辑以实现特定功能。例如,可以编写脚本来自动执行...
教程中还提供了参考脚本(Setup.rul),帮助用户理解并实践上述步骤。通过这种方式,用户能够根据自己的需求创建出复杂而完整的安装程序,实现一键式安装。尽管原文档未提供完整内容,但其结构清晰,涵盖了使用...
在"Setup.Rul"文件中,选择"Before Move Data"项,然后在此处创建和编辑这些函数,以实现特定的安装逻辑。 总结来说,使用Installshield进行电视调谐器驱动安装包的创建,需要精心规划项目类型、操作系统支持、产品...
提供的参考脚本(如`Setup.rul`)是整个安装过程的核心,包含了安装程序的所有逻辑和指令。它是InstallShield项目的重要组成部分,通过编辑和调整脚本,可以实现更复杂的安装行为。 总的来说,InstallShield 12 ...
示例中的`Setup.rul`文件是一个规则脚本,用于控制安装过程中的特定行为。例如,`GetSeed`和`MD5Check`函数可能是用于验证序列号或检查MD5哈希的自定义功能。使用InstallShield的脚本语言,你可以编写更复杂的逻辑...
5. **Win8系统安装无线网卡驱动时报错setup.rul 342的处理办法**:针对特定错误代码提供了详细的排除方案。 通过上述步骤和技术背景的介绍,相信可以有效帮助用户解决在Windows Server 2003环境下无线网卡驱动无法...
//// 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 ...
5. **安装逻辑**:编写脚本(如`Setup.rul`)以定义安装过程中的行为,如启动、安装、结束时的逻辑处理。 6. **发布与测试**:最后,生成安装包并进行测试,确保安装程序在目标系统上能正确运行。 接下来,我们...
该文件名为`Setup.rul`,是一份由`Installshield`自动生成的基础安装脚本。根据其描述,这份脚本是基于项目向导的选择而生成的,并提供了修改脚本的建议方法。脚本的主要功能在于定义了安装过程中的关键步骤和函数,...
通常,安装过程包括运行“Reader72Setup.exe”这个可执行文件,按照向导提示完成安装。使用说明可能会指导用户如何打开SEP文件,如何设置阅读偏好,以及如何利用软件的各项功能。对于初学者,这些指南是必不可少的...
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 ...