installshield 安装脚本实例

实现的功能::java

1.检测是否安装JDK,TOMCAT,MYSQL,APACHE HTTP,若是没安装,提示安装,不然中断mysql

2.检测jdk版本
web

3.注册系统服务Tomcat/删除系统服务redis

4.设置环境变量sql

5.添加启动项数据库

6.添加快捷方式
apache


#include "ifx.h"windows

export prototype  installJDK() ; export prototype  getJAVA_HOME();     export prototype  installMysql();   export prototype  installTomcat(); export prototype installHttp(); export prototype addFileValue(string,string,string,string); string password,Java_Home; /*-------------------------------------------------------------------*/ /* 安装JDK */ function installJDK() string  szJDK,  szKey ,JDKversion ; number  nType, nvSize; begin     // 查看是否已经安装了JDK,并且版本大于5.0     RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);        szKey = "SOFTWARE\\JavaSoft\\Java Development Kit";       nType = REGDB_STRING;       JDKversion = "";       // Get the list of subkeys.       RegDBGetKeyValueEx(szKey, "CurrentVersion", nType, JDKversion, nvSize);     if(JDKversion < "1.5") then              if(AskYesNo ( "系统检测到您机器上未安装JDK或者JDK版本太低,会影响系统的正常使用。\n\n接下来将为您安装 JDK 6.0     \n\nJDK的版权归Sun公司全部 ...", YES )=YES) then               szJDK =  SUPPORTDIR ^ "jdk-6-windows.exe";                    if (LaunchAppAndWait (szJDK, "", WAIT) < 0) then                        MessageBox ("加载JDK失败,请手动安装JDK5.0或以上版本再运行此程序",SEVERE);                        abort;                      endif;            else                 MessageBox("您取消了JDK的安装,这会使系统没法正常运行,\n\n因此本安装程序不会继续安装,将退出安装!",INFORMATION);                 abort;              endif;                     endif;        JDKversion="";             RegDBGetKeyValueEx(szKey, "CurrentVersion", nType, JDKversion, nvSize);             if(JDKversion < "1.5") then             MessageBox("系统检测到您未正常安装JDK,本程序将退出。\n\n您能够:\n\n一、手动安装JDK5.0或以上版本.\n\n二、从新运行本程序,按照提示安装JDK.",SEVERE);                             abort;      endif; end; /*-----------------------------------------------------------------------------*/ function  installMysql() string  szJDK,  szKey ,szDisplayName ; number  nType, nvSize; begin     // 查看是否已经安装了Mysql     RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);        szKey = "SYSTEM\\CurrentControlSet\\Services\\MySQL";       nType = REGDB_STRING;       szDisplayName = "";       // Get the list of subkeys.       if(RegDBGetKeyValueEx(szKey, "DisplayName", nType, szDisplayName, nvSize)<0) then         if(AskYesNo ( "系统检测到您机器上未安装Mysql,会影响系统的正常使用。\n\n接下来将为您安装 Mysql 5.0", YES )=YES) then               szJDK =  SUPPORTDIR ^ "mysql Setup.exe";                    if (LaunchAppAndWait (szJDK, "", WAIT) < 0) then                        MessageBox ("加载Mysql失败,请手动安装Mysql再运行此程序",SEVERE);                        abort;                      endif;            else                 MessageBox("您取消了Mysql的安装,这会使系统没法正常运行,\n\n因此本安装程序不会继续安装,将退出安装!",INFORMATION);                 abort;              endif;                     endif; end;     /*---------------------------------------------------------------------------*/ /*   安装Tomcat */ function  installTomcat() string  szJDK,  szKey ,szDisplayName ; number  nType, nvSize; begin     // 查看是否已经安装了Tomcat     RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);        szKey = "SYSTEM\\CurrentControlSet\\Services\\Tomcat7";       nType = REGDB_STRING;       szDisplayName = "";       // Get the list of subkeys.       if(RegDBGetKeyValueEx(szKey, "DisplayName", nType, szDisplayName, nvSize)<0) then         if(AskYesNo ( "系统检测到您机器上未安装Tomcat7,会影响系统的正常使用。\n\n接下来将为您安装 Tomcat7", YES )=YES) then               szJDK =  SUPPORTDIR ^ "apache-tomcat-7.0.27.exe";                    if (LaunchAppAndWait (szJDK, "", WAIT) < 0) then                        MessageBox ("加载Tomcat7失败,请手动安装Tomcat7再运行此程序",SEVERE);                        abort;                      endif;            else                 MessageBox("您取消了Tomcat7的安装,这会使系统没法正常运行,\n\n因此本安装程序不会继续安装,将退出安装!",INFORMATION);                 abort;              endif;                     endif; end;     /*---------------------------------------------------------------------------*/ /** 安装Apache Http */               function installHttp()     string  szJDK,  szKey ,szDisplayName ;     number  nType, nvSize;       begin     // 查看是否已经安装了Apache     RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);         szKey = "SYSTEM\\CurrentControlSet\\Services\\Apache";       nType = REGDB_STRING;       szDisplayName = "";       // Get the list of subkeys.       if(RegDBGetKeyValueEx(szKey, "DisplayName", nType, szDisplayName, nvSize)<0) then         if(AskYesNo ( "系统检测到您机器上未安装Apache,会影响系统的正常使用。\n\n接下来将为您安装 Apache,\n\n若是选择取消,将中断本次安装", YES )=YES) then               szJDK =  SUPPORTDIR ^ "Apache HTTP Server.exe";                    if (LaunchAppAndWait (szJDK, "", WAIT) < 0) then                        MessageBox ("加载Apache Http Server失败,请手动安装Apache Http Service再运行此程序",SEVERE);                        abort;                      endif;            else                 MessageBox("您取消了Apache Http Server的安装,这会使系统没法正常运行,\n\n因此本安装程序不会继续安装,将退出安装!",INFORMATION);                 abort;              endif;                     endif; end;    /*---------------------------------------------------------------------------*/   /** 设置环境变量 */ function getJAVA_HOME() /*JAVA_HOME注册表参数*/ string szKey,JDKDir,nzVersion; number nType,nvSize,szRoot; begin  /*JAVA_HOME加入环境变量*/    szRoot= HKEY_LOCAL_MACHINE;  RegDBSetDefaultRoot(szRoot);  szKey = "SOFTWARE\\JavaSoft\\Java Development Kit";  nType = REGDB_STRING;  RegDBGetKeyValueEx(szKey, "CurrentVersion", nType, nzVersion, nvSize);  szKey=szKey+"\\"+nzVersion;  RegDBGetKeyValueEx(szKey, "JavaHome", nType, JDKDir, nvSize);      Java_Home= JDKDir; end; /*--------------------------------------------------------------------------*/ function OnFirstUIBefore()     number  nResult, nLevel, nSize, nSetupType;     string  szTitle, szMsg, szOpt1, szOpt2, szLicenseFile;     string  szName, szCompany, szTargetPath, szDir, szFeatures, szTargetdir;     BOOL    bLicenseAccepted;     string  szField0,szField1,szField2,svEdit0,svEdit1,svEdit2,svEdit3,svEdit4;       string  szJDK,svTomcat,svMySql,szKey ,szDisplayName,szFolder,szCmdLine,szSrcFile1;     number  nType,nvSize;     string test1,test2;          LIST list, listStartCopy; begin             nSetupType = COMPLETE;         szName = "";     szCompany = "";     bLicenseAccepted = FALSE;       TARGETDIR = PROGRAMFILES ^@COMPANY_NAME ^@PRODUCT_NAME;     szDir = TARGETDIR;                                                szSrcFile1 = "hospital\\"; // Beginning of UI Sequence Dlg_Start:  nResult = 0;    /*安装JDK*/  installJDK();      /* 获取JAVA_HOME*/  getJAVA_HOME();    /*安装Tomcat7*/  /*installTomcat();*/  /*安装apache http*/  installHttp();    /*安装Mysql数据库*/  installMysql();                  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_SdRegisterUser:     szMsg = "";     szTitle = "";     //{{IS_SCRIPT_TAG(Dlg_SdRegisterUser)         nResult = SdRegisterUser( szTitle, szMsg, szName, szCompany );     //}}IS_SCRIPT_TAG(Dlg_SdRegisterUser)     if (nResult = BACK) goto Dlg_SdWelcome;  Dlg_SdShowDlgEdit2:    // 查看是否已经安装了Mysql     RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);        szKey = "SYSTEM\\CurrentControlSet\\Services\\MySQL";       nType = REGDB_STRING;       szDisplayName = "";       // Get the list of subkeys.       if(RegDBGetKeyValueEx(szKey, "DisplayName", nType, szDisplayName, nvSize)<0) then         if(AskYesNo("系统检测到您未正常安装Mysql数据库,会影响短信系统的正常使用。\n\n你能够:\n\n一、安装完本系统后手动安装Mysql数据库,并手动建立相应数据库!\n\n二、退出本系统的安装,从新安装本系统!\n\n继续安装请选择 是(Y),退出安装选择 否(N)!",YES)=YES) then         else             abort;         endif;         else             szTitle = "数据库信息";                szMsg    = "请更改相应的Mysql数据库用户名和数据库密码:";             //szField0 ="bin目录路径";                  szField1 = "用户名";                szField2 = "密码";               // svEdit0 = "C:\\Program Files\\MySQL\\MySQL Server 5.0\\bin";             svEdit1 = "root";                svEdit2 = "123456";                        nResult = SdShowDlgEdit2(szTitle, szMsg,szField1,szField2, svEdit1,svEdit2);             if (nResult = BACK) goto Dlg_SdRegisterUser;             //SdShowMsg ("下面进行数据库初始化操做,请勿手动关闭弹出窗口!", TRUE);             //Delay(2);                           CopyFile(SUPPORTDIR ^ "CreateDB.sql","c:\\"^"CreateDB.sql");          CopyFile(SUPPORTDIR ^ "hospital.sql","c:\\"^"hospital.sql");          RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);            szKey = "SOFTWARE\\MySQL AB\\MySQL Server 5.0";         nType = REGDB_STRING;           svMySql = "";         if(RegDBGetKeyValueEx(szKey, "Location", nType, svMySql, nvSize) < 0) then             MessageBox ("查找MySQL路径失败,系统不能继续安装", SEVERE);                 abort;         endif;         szDir = svMySql + "bin";            test1="\"";         test2="\"";         svEdit0 = test1+szDir+test2;                //启动mysql                                               LaunchAppAndWait("net","start mysql",WAIT);                                                                                                   szJDK =  SUPPORTDIR ^ "hospital.bat";          svEdit3 =  "C:\\"^"CreateDB.sql";          svEdit4 =  "C:\\"^"hospital.sql";          LaunchAppAndWait(szJDK," " + svEdit0 + " " + svEdit1 + " " + svEdit2 + " " + svEdit3 + " " + svEdit4 + " ",WAIT);          // 准备启动MySQL服务器              LaunchAppAndWait ("net","start mysql"   ,WAIT );  //启动MySQL          password=svEdit2;          DeleteFile("c:\\CreateDB.sql");          DeleteFile("c:\\hospital.sql");    endif;      /*         //查看Tomcat安装路径     RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);        szKey = "SOFTWARE\\Apache Software Foundation\\Tomcat\\7.0\\Tomcat7";     nType = REGDB_STRING;       svTomcat = "";     if(RegDBGetKeyValueEx(szKey, "InstallPath", nType, svTomcat, nvSize) < 0) then         MessageBox ("查找 Tomcat 路径失败,系统不能继续安装", SEVERE);            abort;       endif;                szDir = svTomcat + "\\webapps";     MessageBox("正在准备Tomcat附加程序文件。。。",INFORMATION);     CreateDir(szDir);                                                                     if( CopyFile(SUPPORTDIR ^ "struts2.war",szDir+"\\struts2.war")<0)          then            MessageBox("程序文件附加失败!",SEVERE);         abort;                   else            MessageBox("程序文件已经附加成功!",INFORMATION);     endif;     */ 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_SdRegisterUser;             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, TARGETDIR);                 //}}IS_SCRIPT_TAG(Dlg_SdAskDestPath2)         //TARGETDIR = szDir;     endif;     if (nResult = BACK) goto Dlg_SetupType2;      /*Dlg_SQLServer:     nResult = OnSQLServerInitialize( nResult );     if( nResult = BACK ) goto Dlg_SdAskDestPath2; */ Dlg_ObjDialogs:     nResult = ShowObjWizardPages( nResult );     if (nResult = BACK) goto Dlg_SdAskDestPath2; Dlg_SdStartCopy2:               szTitle = "";     szMsg   = "";     listStartCopy = ListCreate( STRINGLIST );     //The following is an example of how to add a string(svName) to a list(listStartCopy).     //eg. ListAddString(listStartCopy,svName,AFTER);        ListAddString(listStartCopy,"Destination Location: " + INSTALLDIR,AFTER);     nResult = SdStartCopy( szTitle, szMsg, listStartCopy );                 ListDestroy(listStartCopy);          if (nResult = BACK) then         goto Dlg_ObjDialogs;     endif;     // setup default status     Enable(STATUSEX);       return 0; end;   //--------------------------------------------------------------------------- // OnFirstUIAfter // // The OnFirstUIAfter event called by the framework after the file transfer // of the setup when the setup is running in first install mode. By default // this event displays UI that informs the end user that the setup has been // completed successfully. //--------------------------------------------------------------------------- function OnFirstUIAfter()     STRING szTitle, szMsg1, szMsg2, szOption1, szOption2;     NUMBER bOpt1, bOpt2,bStartService;       string szKey,svTomcat,szCmdLine,szServiceName, szServiceDisplayName, szServiceDescription, szServicePathFile,szStartServiceArgs;     string szJDK,svEdit3,svEdit4,svEdit0,svEdit1,svEdit2;     number nType,nvSize;        string JDKversion,svValue; begin     Disable(STATUSEX);     bOpt1  = FALSE;     bOpt2  = FALSE;     szMsg1 = SdLoadString(IFX_SDFINISH_MSG1);     SdFinishEx(szTitle, szMsg1, szMsg2, szOption1, szOption2, bOpt1, bOpt2);                  /*-------------------------设置环境变量-------------------------------*/     // 查看是否已经安装了JDK,并且版本大于5.0     RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);        szKey = "SOFTWARE\\JavaSoft\\Java Development Kit";       nType = REGDB_STRING;       JDKversion = "";       // Get the list of subkeys.       RegDBGetKeyValueEx(szKey, "CurrentVersion", nType, JDKversion, nvSize);     szKey = "SOFTWARE\\JavaSoft\\Java Development Kit"+JDKversion;     if (RegDBKeyExist(szKey)=1) then//若是该注册表值存在         if(RegDBGetKeyValueEx(szKey,"JavaHome",nType,svValue,nvSize)=0) then//获取注册表值成功             szKey = "SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment";             if(RegDBSetKeyValueEx(szKey, "JAVA_HOME", REGDB_STRING, svValue, -1)<0) then                 MessageBox ("JAVA_HOME环境变量设置失败,请手动设置", SEVERE);             endif;         endif;     endif;     /*---------------------tomcat环境变量设置--------------------*/     /*     RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);        szKey = "SYSTEM\\CurrentControlSet\\Services\\tomcat7";       nType = REGDB_STRING;       szDisplayName = "";       // Get the list of subkeys.       if (RegDBKeyExist(szKey)=1) then//若是该注册表值存在         if(RegDBGetKeyValueEx(szKey,"JavaHome",nvType,svValue,nvSize)=0) then//获取注册表值成功             szKey = "SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment";             if(RegDBSetKeyValueEx(szKey, "CATALINA_HOME", REGDB_STRING, svValue, -1)<0) then                 MessageBox ("JAVA_HOME环境变量设置失败,请手动设置", SEVERE);             endif;         endif;     endif;     */     //注册Tomcat7服务          /*     //注册的服务名称     szServiceName="tomcat7";     //服务显示名称     szServiceDisplayName="tomcat7";     //服务描述     szServiceDescription="tomcat服务";     //程序文件的路径,安装路径下的Server目录下的test.exe文件     szServicePathFile=TARGETDIR^"\\apache-tomcat7-web\\bin\\tomcat7.exe";     MessageBox("exe路径:"+szServicePathFile,INFORMATION);                   //启动类型为自动     bStartService=0;     szStartServiceArgs="";     ServiceAddService ( szServiceName, szServiceDisplayName, szServiceDescription, szServicePathFile, bStartService, szStartServiceArgs );     ServiceStartService(szServiceName,"");              */     /*     // 准备启动TOMCAT服务器     RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);        szKey = "SOFTWARE\\Apache Software Foundation\\Tomcat\\7.0\\Tomcat7";     nType = REGDB_STRING;       svTomcat = "";        if(RegDBGetKeyValueEx(szKey, "InstallPath", nType, svTomcat, nvSize) < 0) then         MessageBox ("查找 Tomcat 路径失败,系统不能继续安装", SEVERE);          endif;       svTomcat = svTomcat + "\\bin\\tomcat7.exe";     LaunchAppAndWait (svTomcat,"",NOWAIT);  //启动tomcat       */       szJDK =  SUPPORTDIR ^ "install.bat";     svEdit0="\"";     svEdit2="\"";        svEdit3 =  TARGETDIR^"\\apache-tomcat7-cas";     svEdit4 =  TARGETDIR^"\\apache-tomcat7-service";     svEdit1 =  TARGETDIR^"\\apache-tomcat7-web";//tomcat执行路径              svEdit3 =  svEdit0+svEdit3+svEdit2;     svEdit4 =  svEdit0+svEdit4+svEdit2;     svEdit1 =  svEdit0+svEdit1+svEdit2;     Java_Home= svEdit0+Java_Home+svEdit2;       //MessageBox("java_home路径:"+Java_Home,INFORMATION);       //MessageBox("Tomcat路径:"+svEdit1,INFORMATION);     LaunchAppAndWait(szJDK," " + Java_Home + " " + svEdit3 + " ",WAIT);     szJDK =  SUPPORTDIR ^ "tomcat_service.bat";     LaunchAppAndWait(szJDK," " + Java_Home + " " + svEdit4 + " ",WAIT);     szJDK =  SUPPORTDIR ^ "tomcat_web.bat";     LaunchAppAndWait(szJDK," " + Java_Home + " " + svEdit1 + " ",WAIT);     // 准备启动MySQL服务器         //LaunchAppAndWait ("net","start tomcat7"   ,WAIT );  //启动MySQL     MessageBox("Tomcat 已经启动成功!正在准备打开网页....",INFORMATION);     //准备打开浏览器     szCmdLine = "http://LocalHost:8380/struts2";     if (LaunchApp(PROGRAMFILES ^"Internet Explorer"^"IEXPLORE.EXE", szCmdLine) < 0) then         MessageBox ("不能打开浏览器.",SEVERE);     endif;           // Added in 11.0 - Set appropriate StatusEx static text.     SetStatusExStaticText( SdLoadString( IDS_IFX_STATUSEX_STATICTEXT_FIRSTUI ) );     return 0; end;      //--------------------------------------------------------------------------- // OnMaintUIAfter // // The OnMaintUIAfter event called by the framework after the file transfer // of the setup when the setup is running in maintenance mode. By default // this event displays UI that informs the end user that the maintenance setup // has been completed successfully. //--------------------------------------------------------------------------- function OnMaintUIAfter()     STRING szTitle, szMsg1, szMsg2, szOption1, szOption2;     NUMBER bOpt1, bOpt2;       string szJDK,svEdit0,svEdit1,svEdit2,svEdit3,svEdit4; begin     Disable(STATUSEX);     bOpt1   = FALSE;     bOpt2   = FALSE;     Dlg_Start:     // Added - Version 9.5 - Use appropriate strings for complete     // uninstall.     if( REMOVEALLMODE ) then         szTitle = SdLoadString(IFX_SDFINISH_REMOVE_TITLE);         szMsg1 = SdLoadString(IFX_SDFINISH_REMOVE_MSG1);       else         szTitle = SdLoadString(IFX_SDFINISH_MAINT_TITLE);             szMsg1  = SdLoadString(IFX_SDFINISH_MAINT_MSG1);     endif;     SdFinishEx(szTitle, szMsg1, szMsg2, szOption1, szOption2, bOpt1, bOpt2); end; //--------------------------------------------------------------------------- // OnMaintUIBefore // // The OnMaintUIBefore event is called by the framework when the setup is // running in maintenance mode. By default this event displays UI that // allows the end user to add or remove features, repair currently // installed features or uninstall the application. //--------------------------------------------------------------------------- function OnMaintUIBefore()     NUMBER nResult, nType;     STRING szTitle, szMsg, svDir, svResult, szCaption; begin     // TO DO: if you want to enable background, window title, and caption bar title                                        // SetTitle( @PRODUCT_NAME, 24, WHITE );                         // SetTitle( @PRODUCT_NAME, 0, BACKGROUNDCAPTION );                   // SetColor(BACKGROUND,RGB (0, 128, 128));                         // Enable( FULLWINDOWMODE );                             // Enable( BACKGROUND );                                  Dlg_Start:     // Added in Version 9.5 - Support for REMOVEONLY option.     if( !REMOVEONLY ) then         // In standard mode show maintenance dialog         Disable(BACKBUTTON);         nType = SdWelcomeMaint(szTitle, szMsg, MODIFY);         Enable(BACKBUTTON);     else         // Hide the initial progress dialog as otherwise the user can         // click on it, and hide the MessageBox.         Disable( DIALOGCACHE );         // In RemoveOnly mode, set to remove.         nType = REMOVEALL;     endif;          // Show Uninstall Confirmation Dialog     if ( nType = REMOVEALL ) then         nResult = MessageBox( SdLoadString( IFX_MAINTUI_MSG ), MB_YESNO );         if (nResult != IDYES ) then                          if( REMOVEONLY ) then                 // In REMOVEONLY mode, abort the setup.                 abort;             else                 // In non-REMOVEONLY mode, redisplay the previous dialog.                 goto Dlg_Start;             endif;         endif;     endif;     nResult = NEXT; Dlg_SdFeatureTree:     if (nType = MODIFY) then         szTitle = "";         szMsg = "";         nResult = SdFeatureTree(szTitle, szMsg, INSTALLDIR, "", 2);         if (nResult = BACK) goto Dlg_Start;     endif;     switch(nType)         case REMOVEALL: FeatureRemoveAll();                          /*-----------卸载tomcat7服务-------------------*/         LaunchAppAndWait ( "", "sc stop tomcat7", LAAW_OPTION_HIDDEN );          LaunchAppAndWait ( "", "sc delete tomcat7", LAAW_OPTION_HIDDEN );               /*-----------卸载tomcat8服务-------------------*/          LaunchAppAndWait ( "", "sc stop tomcat8", LAAW_OPTION_HIDDEN );          LaunchAppAndWait ( "", "sc delete tomcat8", LAAW_OPTION_HIDDEN );          /*-----------卸载tomcat9服务-------------------*/          LaunchAppAndWait ( "", "sc stop tomcat9", LAAW_OPTION_HIDDEN );          LaunchAppAndWait ( "", "sc delete tomcat9", LAAW_OPTION_HIDDEN );         case REPAIR:    FeatureReinstall();     endswitch;          // setup default status     SetStatusWindow(0, "");     Enable(STATUSEX);     StatusUpdate(ON, 100); end;          function addFileValue(szFileName, szSectionName, szKeyName, szNewValue) begin               if (AddProfString (szFileName, szSectionName, szKeyName,szNewValue) < 0) then          MessageBox(szFileName+"文件配置失败,请手动更改"+szKeyName+"值为"+szNewValue, SEVERE);      endif;                   end;        //--------------------------------------------------------------------------- // OnMoved // // The OnMoved event is called just before the InstallShield action // 'GeneratedMSIScript' is executed. //--------------------------------------------------------------------------- function OnMoved() begin               //配置文件       if(!MAINTENANCE)then         addFileValue(TARGETDIR+"TomcatService.bat","","set CATALINA_HOME",TARGETDIR+"apache-tomcat7-cas");     endif;          end;      
相关文章
相关标签/搜索