




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 默认界面详解 此需要打包的程序是标准的 ssh2 程序+tomcat 6.0+jdk1.6+mysql 程序 打包详细步骤: 1.1 新建项目(建一个 InstallScript Project 项目) 说明:修改项目名称,项目位置 1.2 填写安装包相关信息(公司名,程序名,程序版本,网 址) 1.3 设置安装目录(可以添加 programfiles ,helpfiles,systemfiles) 1.4 建立安装包里的内容(从电脑上选取程序文件) 说明:1. 可以到 Installation Designer 里面的 files 去设置 2.Application Target Folder 是目标文件夹,把程序安装在哪,下面的内容就会被拷贝 在哪 1.5 设置快捷方式 说明:1.选择已上传的文件作为快捷方式,建立后将在开始,程序里面显示,可以选择 create shortcut on desktop ,将快捷方式创建在桌面。 1.6 设置注册表。 说明:此处不是必须的,可根据需要在代码中修改 1.7 设置 license 文件,可以从外部导入,文件格式为 txt, 内容将显示在安装过程中。 询问用户是否同意安装 1.8 设置语言,可以选择多语言 1.9 开始发布程序, (exe 文件,网页,光盘) 如果没有需要其他设置的东西,就可以发布了,但一般都会其他内容,通过 Installation Designer 设置 2 Installation Designer 详解 其中: 2.1 General Information :程序信息,在此处,可以对程序 基本信息进行修改 修改默认图标(Distplay Icon) 修改默认安装路径 TARGETDIR 修改安装语言,默认语言,程序名称等 2.2 Trialware :我也不知道干嘛用的 2.3 Setup Design ,Features,Components,SetupTypes:这几 个也不太了解 只知道通过修改 components 中的 SelfRegFiles 的用户自注册属性为 NO ,jdk 就不会 报未注册的错误提示 SetupTypes:设置安装类型(完整安装,自定义安装) 2.4 files and Folders: 要安装的文件内容 程序文件可在此处从电脑本地拖到相关位置 2.5 Prerequisites 和 Objects 都为系统所需控件,我没用 到 2.6 Shortcuts :快捷方式,可以通过此处添加 2.6 Registry:修改 注册表: 2.8 XML File Changes : xml 文件,我也没用到,不知道啥 作用 2.9 Internet Information Services ,SQL Scirpts 没用到 2.10 InstallScript:脚本文件 2.11 Support Files /BillBoards :调用外部程序 在 Language Independent 里面添加文本 license,询问是否同意安装时显示的文件 在 Disk1 里面添加外部安装包程序 2.12 修改安装时界面 1. 修改内部对话框(右上角图片) 首先需要将 bmp 格式(尺寸大小为 499*58 像素点)文件添加到 Support Files/Language Independent 目录下 之后在事件响应函数 OnBegin 中添加如下代码(OnFirstUIBefore() OnMaintUIBefore()) : DialogSetInfo(DLG_INFO_ALTIMAGE, SUPPORTDIR “Bear_Banner.bmp“, TRUE); 参考见: /installshield/archive/2010/08/20/1804471.html 2修改外部对话框 (1) 首先需要将 bmp 格式(尺寸大小为 220*370 像素点)文件添加到 Support Files/Language Independent 目录下 (2) 在 InstallScript 工程中,每个外部对话框中都有一个名为 ControlId_551 的位图控 件,其属性 File Name 指向一位图文件(默认大小为 220*370 像素): ScriptDialogsBitmapId_103.bmp 可以直接在每个外部对话框中重新指定自定义的位图文件。 2. 隐藏准备安装页面 安装包、升级包的要求中有这么一条:需要将准备安装界面隐藏。在查看了 InstallShield12 的帮助文档及相关资料后,可以通过设置 CommandLine 参数顺利 实现。具体是在 Installation Designer-Media-Releases- SINGLE_EXE_IMAGE-Setup Command Line 加上/hide_progress 即可,如 下图: 如果要隐藏整个安装过程,那么将上述的命令改为/s hide_progress 即可。 此外,我们通常希望去掉 InstallShield Wizard 字样,本人看过不少资料,亦按 照这些资料中所讲的方法尝试过多次,可惜的是均不能完全实现这一点,部分还是可 以去掉的,比如在 string tables 里面将 InstallShield Wizard 替换成自己想要的文 字(如安装向导),如下图: 同时,可以通过 Edit 指定对话框,对所需要的对话框做适当的修改,比如修改安 装界面左侧的图片等。当然如果修改了对话框,则在我的印象中,对安装包更换皮肤 的话,已修改过的界面将保持修改状态,而不会跟着更换皮肤 本文来自 CSDN 博客,转载请标明出处: /huangxinfeng/archive/2009/11/29/4898758.aspx 2.13 Dialogs:窗口显示样式,显示内容 Skins:安装皮肤,可选择样式 AllDialogs: 页面内容,大小,样式,可以调整 包括选择路径 欢迎页面 是否需要重启 剩余空间等 InstallShield 提供一些 Sd 对话框函数,用户可自定义和显示。 Sd 对话框使用 可以创建用户输入的对话框的特殊脚本定义函数来创建。然后该对话框根据所 作选择返回值给脚本。 Sd 对话框有一个 Cancel 按钮,当它被选中时不返回一个 CANCEL 值。而 是调用缺省的退出处理。 下面是所有有效的 Sd 对话框函数的列表: DialogSetInfo 改变由一些内部对话框函数呈现的对话框的显示元素。 SdAskDestPath 呈现一个对话框,允许最终用户指定安装的一个目标位置。 SdAskOptions 创建一个对话框,它比标准 AskOptions 函数更灵活。 SdAskOptionsList 呈现一个对话框,允许最终用户选定和撤消选定一个列表中的项目。 SdBitmap 在对话框中显示一个位图。 SdComponentDialog 显示一个对话框,允许最终用户选择安装的组件和目标文件夹。 SdComponentDialog2 显示一个对话框,允许最终用户选择要安装的文件夹、组件和子部件。 SdComponentDialogAdv 显示一个对话框,允许最终用户选择安装的组件和目标文件夹。 SdComponentMult 显示一个对话框,允许最终用户选择安装的组件和子部件。有关磁盘空间的附 加信息也被提供来确定安装的最佳位置。 SdComponentTree 显示一个有树形控制控件的对话框,允许最终用户选择安装的组件和子部件。 有关磁盘空间的附加信息也被提供来确定安装的最佳位置。 SdConfirmNewDir 提示用户确认文件夹的选择。 SdConfirmRegistration 提示最终用户确认输入到由 SdRegisterUser 或 SdRegisterUserEx 呈现对话框 中的信息。 SdDisplayTopics 显示主题列表。 SdExceptions 显示一个对话框,通知最终用户遇到一个共享、锁定(在使用中)或只读文件。 SdFinish 显示一个对话框,通知最终用户安装完成并提供一个选项的选择,如是否要查 看信息文件或运行一个应用程序。 SdFinishEx 显示一个对话框,通知最终用户安装完成。 SdFinishReboot 显示一个对话框,通知用户安装完成并提供一个重启 Windows 和计算机选项的 选择。 SdInit 准备一个调用 Sd 对话框函数的安装。 SdLicense 显示一个许可证协议并给最终用户一个接受或拒绝许可证条款的选项。 SdLoadString 返回和一个指定资源 ID 相联系的字符串值。 SdMakeName 创建一个自定义对话框的节名。该节名在向一个 .iss 文件写或从一个.iss 文件 读时使用。.iss 文件由 InstallShield Silent 使用。 SdOptionsButtons 显示一个有用户定义按钮的对话框,提供给最终用户不同选择。 SdProductName 在脚本对话框的特定静态区中插入你的产品名。 SdRegisterUser 显示一个可输入用户名和公司名的对话框。 SdRegisterUserEx 显示一个对话框,最终用户可在里面输入用户姓名、公司名称和应用程序序列 号。 SdSelectFolder 呈现一个对话框,允许最终用户从程序文件夹列表中选择一个文件夹。 SdSetupType 显示一个对话框,使最终用户能选择三种标准安装类型之一:典型、简易或自 定义。 SdSetupTypeEx 显示一个对话框,允许最终用户选择标准或自定义安装类型。 SdShowAnyDialog 显示一个资源 DLL 的通用对话框。当用 SdShowAnyDialog 函数显示一个对话 框时你不能从最终用户接受任何输入。 SdShowDlgEdit1 显示一个对话框,它有一个单行的编辑区和其它静态控件。 SdShowDlgEdit2 显示一个对话框,有两个单行的编辑区和其它静态控件。 SdShowDlgEdit3 显示一个对话框,有三个单行的编辑区和其它静态控件。 SdShowFileMods 呈现一个对话框,预览对文件的可能修改并允许最终用户同意修改、拒绝修改 或要求将修改写到一个文件中。 SdShowInfoList 在一个对话框中显示一个可滚动的消息列表。 SdShowMsg 在一个小窗口中显示一个消息。 SdStartCopy 呈现一个对话框,显示已经由最终用户指定的选项和设置。 SdWelcome 显示一个通用欢迎。 SdWelcomeMaint 显示一个在维护安装开始时使用的对话框。 5.1 DialogSetInfo 语法:DialogSetInfo (nInfoType, szInfoString, nParameter); 说明:DialogSetInfo 函数修改下列在 InstallShield 对话框中显示的元件: 显示的图象; 得到最终用户选择的复选框的风格; 指示有效和所需磁盘空间值的精度。 通过调用 DialogSetInfo 产生的修改对安装的剩余部分保持为有效或直到它 们又被随后的对 DialogSetInfo 的调用修改。如果你的脚本在调用任何 Sd 对话 框函数前调用 DialogSetInfo,在 DialogSetInfo 的调用前必须先调用 SdInit。否 则,对 DialogSetInfo 的调用无效。 参数: nInfoType 指定要修改的显示特征。在该参数位置传递下列预定义的常量之一: DLG_INFO_USEDECIMAL:缺省时,显示的指示组件大小、有效磁盘空间和 所需磁盘空间的值被四舍五入到最近的 KB 或 MB。下列对话框受该参数影响: ComponentDialog, SdComponentDialog, SdComponentDialog2, SdCompone ntDialogAdv 和 SdComponentMult。 DLG_INFO_KUNITS:缺省时,显示的指示组件大小、有效磁盘空间和所需磁 盘空间的值以 KB 为度量。传递该参数同时 nParameter 设置为 FALSE 时则以 MB 为度量显示这些值。下列对话框受该参数影响: SdComponentTree, ComponentDialog, SdComponentDialog, SdComponentD ialog2, SdComponentDialogAdv 和 SdComponentMult。 DLG_INFO_ALTIMAGE:指定一个显示在该对话框中的候选位图。如果 nParameter 设置为 TRUE,szInfoString 必须指定在该对话框显示的图象。该 参数应用于所有在对话框右上角显示标准安装图象的 InstallShield 对话框(和 图象显示在对话框左边一个大图象的右上角的 Welcome, SdWelcome 和 SdFinish 对话框)。更多的信息可查看下面参数 nParameter 处描述的“当 nInfoType 是 DLG_INFO_ALTIMAGE”。 由 SetDisplayEffect 设置的显示效果不能应用到交替图象,通常它们显示时没 有任何特殊效果. DLG_INFO_CHECKSELECTION:指定选择方法将由 nParameter 传递的常量 确定。注意 SdComponentTree 不支持改变复选框类型。 szInfoString 当 DLG_INFO_ALTIMAGE 传递给 nInfoType 时,该参数指定要显示的候选位 图的文件名和一组位图属性(可选)。如果包括了位图属性,传递给该参数的 字符串必须如下格式化: “位图文件名;透明标志;透明色” 位图文件名: 指定位图文件名。如果文件名未限定(也就是说,如果它不包括一个驱动器指 示符和路径),InstallShield 在 SUPPORTDIR 查找该位图。 透明标志: 指示是否透明显示位图。当该标志是 1(真)时,该位图中所有其颜色是由 szInfoString 的透明色参数指定的 RGB 值的部分都透明显示。该参数缺省为 0(非透明)。 未用: 格式行的这些部分都被忽略,但它们必须被包括。也就是说,格式行串必须包 括四个分号,三个分号在透明标志和透明色之间。 透明色: 指示透明显示的颜色。透明色必须用一个 RGB 值来表示,也就是,三个数值 型值由逗号分隔。如果没有指定值,即使透明标志设置为 1,位图也不会被透 明显示。 下面的例子将显示 MyBitmap.bmp 文件的位图,它位于 SUPPORTDIR 文件 夹。位图所有黑色部分(RGB 值为 0,0 ,0)将被透明显示。 “MyBitmap.bmp;1;0,0,0“ 注意:标准位图为 5753。一个候选位图必须也约是这个大小。如果位图大于 这个大小,它会在标题区中垂直置中,位图的右边将和对话框的右边对齐。 (在 Welcome, SdWelcome, 和 SdFinish 对话框中,位图的右边将和它所呈现 在的更大的位图的右边对齐)。位图左边将尽可能扩展到对话框左边。位图扩 展在对话框标题区下的任何部分将被剪切掉。如果位图小于 5753,它将被正 确显示,但它将不被调整大小或被扩展。 当缺省位图被重新装入或 nInfoType 不是 DLG_INFO_ALTIMAGE 时该参数 被忽略 nParameter 和 nInfoType 相联系一起来指定对话框特性。 当 nInfoType 是 DLG_INFO_CHECKSELECTION 时,传递下列预定义常量之 一来指定复选框风格: CHECKBOX:指定 Windows 3.1 风格的复选框。 CHECKBOX95:指定标准(Windows 95 风格)复选框。如果不调用 DialogSetInfo,这是缺省的复选框风格。 CHECKLINE:指定复选行风格的复选框。 CHECKMARK:指定复选标记风格的复选框。 当 nInfoType 是 DLG_INFO_ALTIMAGE,传递下列预定义常量之一来指定显 示位图: -1:指定对话框必须显示缺省位图。 TRUE:指定由 szInfoString 指示的位图必须在随后的对话框中使用,就如前面 在 szInfoString 下描述的一样。 当 nInfoType 是 DLG_INFO_KUNITS 或 DLG_INFO_USEDECIMAL 时,传递 下列预定义常量之一来指定大小如何显示: TRUE:指定大小按照 nInfoType 指示的显示。 FALSE:指定大小按照缺省风格显示。 返回值: 0 表明函数成功设置了指定的风格。 /屏幕显示名称 作用依次是: 新建、移除、重配置服务。 举个例子: 重新配置服务 mysql 的执行路径的方法是: sc config mysql binPath= “新路径“ 脚本: ECHO OFF echo start program sc config Tomcat6 start= auto net start Tomcat6 sc config selfhelp start= auto net start selfhelp pause 3、终止 tomcat ,并删除 tomcat 服务 ECHO OFF echo stop program net stop Tomcat6 net stop selfhelp sc delete Tomcat6 sc delete selfhelp pause 1、 把 tomcat 文件 server.bat 加入到系统服务 echo install tomcat as windows service cd /d %dp0 call service.bat install sc config Tomcat6 start= auto echo install tomcat as windows service -end pause 2、 mysql 修改 my.ini 路径 ECHO OFF echo basedir=“%dp0“ %dp0my.ini echo datadir=“%dp0Data“ %dp0my.ini echo mysql %dp0my.ini echo no-auto-rehash %dp0my.ini echo myisamchk %dp0my.ini echo key_buffer_size = 128M %dp0my.ini echo sort_buffer_size = 128M %dp0my.ini echo read_buffer = 2M %dp0my.ini echo write_buffer = 2M %dp0my.ini echo mysqlhotcopy %dp0my.ini echo interactive-timeout %dp0my.ini 3、 启动 mysql ECHO OFF copy “%dp0my.ini“ %SystemRoot% /y “%dp0binmysqld-nt.exe“ -install net start mysql pause 7.停止 mysql 并删除系统服务 ECHO OFF net stop mysql sc delete mysql pause 4.3 全部脚本 /= = / / 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“ /- / 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; begin / Added in InstallShield 15 - Show an appropriate error message if / -removeonly is specified and the product is not installed. if( REMOVEONLY ) then Disable( DIALOGCACHE ); szMsg = SdLoadString( IDS_IFX_ERROR_PRODUCT_NOT_INSTALLED_UNINST ); SdSubstituteProductInfo( szMsg ); MessageBox( szMsg, SEVERE ); abort; endif; nSetupType = COMPLETE; szDir = TARGETDIR; szName = “; szCompany = “; bLicenseAccepted = FALSE; / Beginning of UI Sequence 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 “aetec.txt“; /IS_SCRIPT_TAG(License_File_Path) /IS_SCRIPT_TAG(Dlg_SdLicense2) nResult = SdLicense2Ex( szTitle, szOpt1, szOpt2, szLicenseFile, bLicenseAccepted, TRUE ); /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_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) 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) 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; /- / OnFirstUIAfter / 安装完成后,点完成前发生的事件 / /- function OnFirstUIAfter() STRING szTitle, szMsg1, szMsg2, szOpt1, szOpt2; NUMBER bvOpt1, bvOpt2; string szMysqlStart ,szMysqlImport ,szAMStart; string szSelfStart,environment; string szdirs,szKeyRoot,szKeyRootStart,szRegTomcat1,szRegTomcat2; string szupdatepath; string startPro; NUMBER szServiceState ; NUMBER bShowUpdateServiceDlg; begin /MessageBox(“开始了 OnFirStUIAfter!“,MB_YESNO ) ; ShowObjWizardPages(NEXT); szTitle = “; szMsg1 = “; szMsg2 = “; szOpt1 = “; szOpt2 = “; bvOpt1 = FALSE; bvOpt2 = FALSE; /jdk 加入注册表(好像可以不用) RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE); /设置注册表函数默认值 szKeyRoot = “SOFTWAREJavaSoftJava Plug-injdk-1.6“ ; /需创建多个子项时 要一个一个创建否则卸载不了 RegDBCreateKeyEx (szKeyRoot , “ ); /了用“代替类 RegDBSetKeyValueEx(szKeyRoot,“HideSystemTrayIcon“,REGDB_NUMBER,“0“,-1); RegDBSetKeyValueEx(szKeyRoot,“JavaHome“,REGDB_STRING,TARGETDIR “jdk- 1.6jre“,-1); RegDBSetKeyValueEx(szKeyRoot,“UseNewJavaPlugin“,REGDB_NUMBER,“1“,-1); /开机启动 tomcat,mysql /szKeyRootStart=“SOFTWAREMicrosoftWindowsCurrentVersionRun“; / RegDBCreateKeyEx (szKeyRoot , “ ); /了用“代替类 / RegDBSetKeyValueEx(szKeyRoot,“tomcatAm“,REGDB_STRING,TARGETDIR “apache-tomcat-1binstartup.bat“,-1); / RegDBSetKeyValueEx(szKeyRoot,“tomcatSelf“,REGDB_STRING,TARGETDIR “apache-tomcat-1binstartup.bat“,-1); / MessageBox (“完成注册表“,SEVERE); / 开始启动服务 szupdatepath=TARGETDIR “mysqlupdatePath.bat“; szMysqlStart = TARGETDIR “mysqlStartMysqlService.bat“; szMysqlImport = TARGETDIR “mysqlsqlscripts.bat“; szdirs=“aetec“ “apache-tomcat-1“ “bin“; / szAMStart = TARGETDIR “apache-tomcat-1binstartup.bat“; / szSelfStart = TARGETDIR “apache-tomcat-2binstartup.bat“; environment=TARGETDIR “environment.bat“; szRegTomcat1= TARGETDIR “apache-tomcat-1binservices.bat“; szRegTomcat2= TARGETDIR “apache-tomcat-2binservices.bat“; startPro= TARGETDIR “startPro.bat“; / MessageBox(“TARGETDIR=“+TARGETDIR,SEVERE); / MessageBox(“szdirs=“+szdirs,SEVERE); / MessageBox(“szAMStart=“+szAMStart,SEVERE); / MessageBox (“szMysqlStart =“+szMysqlStart,SEVERE); / MessageBox (“szMysqlImport=“+szMysqlImport,SEVERE); / Set this to true if you have the update service enabled, and if you want to check for updates. / Note: the ISUS Starter Edition does not support checking for updates programatically. So, / only set this to true if you have at least the ISUS Professional Edition. bShowUpdateServiceDlg = FALSE; if(LaunchAppAndWait(szupdatepath,“,WAIT)0) then MessageBox (“设置 mysql 路径“,SEVERE); endif; if(LaunchAppAndWait(environment,“,WAIT)0) then MessageBox (“配置环境变量出错 “,SEVERE); endif; /判断 mysql 服务是否开启 szServiceState = SERVICE_STOP_PENDING; /这里主要是定义数据类型 ,这个很重 要 否则出错. if ServiceGetServiceState(“MySQL“, szServiceState) ISERR_SUCCESS then /MessageBox(“MSSQLSERVER 服务关闭“,SEVERE); else MessageBox(“当前系统已安装了 Mysql 服务,请先卸载系统原 mysql,重新安装 “,SEVERE); abort; endif; if(LaunchAppAndWait(szMysqlStart,“,WAIT)0) then MessageBox (“启动 mysql 服务出错“,SEVERE); endif; if(LaunchAppAndWait(szMysqlImport,“,WAIT)0) then MessageBox (“导入数据库脚本出错 “,SEVERE); endif; if(LaunchAppAndWait(szRegTomcat1,“,WAIT)0) then MessageBox (“添加 am(Tomcat6)服务出错“,SEVERE); endif; if(LaunchAppAndWait(szRegTomcat2,“,WAIT)0) then MessageBox (“添加自助( selfhelp)服务出错“,SEVERE); endif; if(LaunchAppAndWait(startPro,“,WAIT)0) then MessageBox (“启动程序出错,请手动启动 tomcat6 和 selfhelp 程序“,SEVERE); endif; / if(LaunchAppAndWait(szAMStart,“,WAIT)0) then / MessageBox (“启动认证管理系统服务出错“,SEVERE); /endif; /if(LaunchAppAndWait(szSelfStart,“,WAIT)0) then / MessageBox (“启动用户自助系统服务出错“,SEVERE); /endif; /IS_SCRIPT_TAG(Dlg_SdDinishEx) if ( BATCH_INSTALL ) then SdFinishReboot ( szTitle , szMsg1 , SYS_BOOTMACHINE , szMsg2 , 0 ); else / If the update service is enabled, show finish dialog that includes / update check option. if( bShowUpdateServiceDlg endif; endif; else SdFinish ( szTitle , szMsg1 , szMsg2 , szOpt1 , szOpt2 , bvOpt1 , bvOpt2 ); endif; endif; /IS_SCRIPT_TAG(Dlg_SdDinishEx) end; /*卸载前* function OnMaintUIBefore() number nResult, nType, nMediaFlags; string szTitle, szMsg, szIgnore; string szKeyRoot,szPath ,szConfigStr; int szConfig; string szMysqlStop,szStopPro; string szAMStop; NUMBER nType1,nType2,nvSize; /提取注册表时,一定要把他转换成这种 数据类型,否则出错 begin szMysqlStop = TARGETDIR “mysqlDelMysqlService.bat“; / szAMStop = TARGETDIR “apache-tomcat-1binshutdown.bat“; / szSelfStop = TARGETDIR “apache-tomcat-2binshutdown.bat“; szStopPro = TARGETDIR “stopPro.bat“; /显示注册表值 nType1 = REGDB_STRING; nType2 = REGDB_NUMBER; nvSize = -1; RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE); szKeyRoot = “SOFTWARE“IFX_COMPANY_NAMEIFX_PRODUCT_NAME; /RegDBSetKeyValueEx (szKeyRoot, “Path“, nType1, “Hello“,nvSize);/看能否取到值 RegDBGetKeyValueEx (szKeyRoot, “Path“, nType1, szPath,nvSize); /RegDBGetKeyValueEx (szKeyRoot, “config“,nType2, szConfig,nvSize); /MessageBox(“路径:“ + szKeyRoot + “注册表值:“+ szPath ,MB_YESNO); / nType defaults to MODIFY. nType = MODIFY; /可修改这个默认值 /Initialize SQL OnSQLServerInitializeMaint(); / Beginning of UI Sequence Dlg_Start: if( !REMOVEONLY ) then / In standard mode show maintenance dialog Disable( BACKBUTTON ); nType = SdWelcomeMaint( szTitle, szMsg, nType ); Enable( BACKBUTTON ); nResult = NEXT;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 代理供货混凝土合同样本
- 借名买房 合同标准文本
- 人工服务购销合同范例
- 企业营销咨询合同样本
- 个人房东写合同样本
- 公司购买合同样本
- 人保保险合同样本
- 公司入股股合同样本
- 中医馆招聘合同样本
- 国家电网未来技术展望试题及答案
- 2024-2030年中国玄武岩纤维工业行业现状调研及投资战略研究报告
- 公园景观修复零星维修施工方案
- 挂靠免责协议书范本
- 小学数学青岛版五年级下册《异分母分数大小比较与通分》课件
- 社区矫正考试题及答案
- 幼儿园水池建设方案
- 安徽省宿州市省、市示范高中2024-2025学年高一上学期期中教学质量检测英语试题 含解析
- 《驾驶室固定矩形窗》
- 2024-2030年中国盐差能行业面临的困境分析及投资规模研究报告
- 架构驱动医疗变革
- 2024年化学检验员(中级)职业技能鉴定考试题库-上(单选题)
评论
0/150
提交评论