1、Installshield应用教程Installshield应用教程说明:阅读对象:本文档主要是对installshield11.5简明试用教程的补充,算是一个高手进阶吧,前面讲过的不再重复。版本:文中例子使用的是IS12,适用于IS10以上。目的:前段时间,工作中需要把公司的产品做一个安装程序,于是接触使用IS,不过在网上根本找不到IS的相关中文教程(!本人英语不太好)。最后通过网上找到的零碎的教程,结合帮助文档和在一些朋友的帮助下,熟练掌握了IS,并将公司产品做成一键式安装,本文就是以这个为实例。强调:installshield11.5简明试用教程是在网上下载的,不是作者原创。作者信息:木
2、禾1.安装前执行 22.安装到指定位置 33.添加数据库及数据 34.其他 85参考脚本 10这里先说说实例的具体要求,再在后面逐个去解决这些问题,以说明IS各菜单功能。 这是一个J2EE构架的的系统,安装到服务器上使用。知道J2EE的肯定知道,安装机器必备JDK,所以需要安装JDK;然后系统使用Tomcat服务器,所以需要安装Tomcat;然后安装主程序,这个过程其实就是把程序文件夹拷贝到Tomcat的wabapps文件夹下;然后安装数据文件和出示数据(数据库得由客户自行安装),最后在程序文件夹和桌面创建快捷方式。一.安装前执行,要求先自动安装JDK和Tomcat。 切换到Installat
3、ionDesigner,加入JDK和Tomcat的安装程序。编辑脚本使安装执行后,先提示安装JDK,在安装Tomcat,以下是脚本片段(图片有些模糊,文档最后附有例子的全部脚本供参考)第15-20行,控制执行JDK安装,第22-26,安装Tomcat。二。安装到指定路径,把文件夹复制到Tomcat的wabapps文件夹下。以上代码图片中,第29-34行,执行这一操作。先从注册表读取tomcat的安装路径,在把文件夹复制到Tomcat的wabapps目录下。三。安装数据库及数据这是直接把数据库转化成脚本,如果已有数据库脚本,只要右键New一个,再Import script files。选择数据库
4、和登录的验证方式。选择数据库并给脚本命名(名字无所谓)这上面几个选项应该看的懂吧,选择需要到处哪些表。数据库有原始数据需要也写入脚本的话,就选上Recoeds这里就是选数据库中主外键之类的,当然要选了。这里设置安装安装过程中的提示,和脚本出现错误了是据需执行还是退出。四。其他快捷方式Target默认是指向机器内的一个绝对地址,可以把Internet Shortcut设置成YES,就可以在Target内设置网址指向地址。2对话框设置可以选择安装程序,对话框的样式。这里也可以自由编辑对话框。生成安装程序的模式建议选上Sigle Executable,可以把所有的封装到一个exe文件内。五。参考脚本
5、/=/ 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 Sequenc
6、e - 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
7、./-function OnFirstUIBefore() number nResult, nLevel, nSize, nSetupType, nvSize, nType; string szTitle, szMsg, szOpt1, szOpt2, szLicenseFile; string szName, szCompany, szTargetPath, szDir, szFeatures, szTargetdir; string szJDK, svTomcat, szKey ; BOOL bLicenseAccepted; begin nSetupType = COMPLETE; sz
8、Dir = TARGETDIR; szName = ; szCompany = ; bLicenseAccepted = FALSE; szKey = ; nType = 0; svTomcat = ; szJDK = ;/ Beginning of UI SequenceDlg_Start: nResult = 0;Dlg_SdWelcome: szTitle = ; szMsg = ; /IS_SCRIPT_TAG(Dlg_SdWelcome) nResult = SdWelcome( szTitle, szMsg ); /IS_SCRIPT_TAG(Dlg_SdWelcome) if (
9、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, bLicenseAccep
10、ted ); /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 (nR
11、esult = BACK) goto Dlg_SdLicense2;Dlg_SetupType2: szTitle = ; szMsg = ; /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
12、 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 =
13、 ; 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
14、 Dlg_SdAskDestPath2; szTitle = ; szMsg = ; szTargetdir = TARGETDIR; szFeatures = ; nLevel = 2; if (nSetupType = CUSTOM) then /IS_SCRIPT_TAG(Dlg_SdFeatureTree) / nResult = SdFeatureTree( szTitle, szMsg, szTargetdir, szFeatures, nLevel ); /IS_SCRIPT_TAG(Dlg_SdFeatureTree) if (nResult = BACK) goto Dlg_
15、SdAskDestPath2; endif; / Display a message box that shows the information icon. MessageBox (接下来系统将安装 JDK,n如果系统在安装的过程中提示已经安装则取消即可。nJDK的版权归Sun公司所有 ., INFORMATION); szJDK = SUPPORTDIR jdk-1_5_0_06-windows-i586-p.exe; if (LaunchAppAndWait (szJDK, , WAIT) 0) then MessageBox (不能加载程序 + szJDK +.,SEVERE); en
16、dif; MessageBox (接下来系统将安装 Tomcat5.0 ., INFORMATION); szJDK = SUPPORTDIR jakarta-tomcat-5.0.28.exe; if (LaunchAppAndWait (szJDK, , WAIT) 0) then MessageBox (不能加载程序 + szJDK +.,SEVERE); endif; / 搜寻 tomcat 安装的路径 RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE); szKey = SOFTWAREApache Software FoundationTomcat5.0
17、; nType = REGDB_STRING; svTomcat = ; / Get the list of subkeys. if(RegDBGetKeyValueEx(szKey, InstallPath, nType, svTomcat, nvSize) 0) then MessageBox (查找 Tomcat 路径失败,系统不能继续安装, SEVERE); return -1; endif; TARGETDIR = svTomcat + webapps; Dlg_SQLServer: nResult = OnSQLServerInitialize( nResult ); if( nR
18、esult = 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; return 0;end; (本资料素材和资料部分来自网络,仅供参考。请预览后才下载,期待您的好评与关注!)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1