Installshield应用教程.docx

上传人:b****2 文档编号:12895730 上传时间:2023-04-22 格式:DOCX 页数:16 大小:462KB
下载 相关 举报
Installshield应用教程.docx_第1页
第1页 / 共16页
Installshield应用教程.docx_第2页
第2页 / 共16页
Installshield应用教程.docx_第3页
第3页 / 共16页
Installshield应用教程.docx_第4页
第4页 / 共16页
Installshield应用教程.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

Installshield应用教程.docx

《Installshield应用教程.docx》由会员分享,可在线阅读,更多相关《Installshield应用教程.docx(16页珍藏版)》请在冰豆网上搜索。

Installshield应用教程.docx

Installshield应用教程

Installshield应用教程

说明:

阅读对象:

本文档主要是对《installshield11.5简明试用教程》的补充,算是一个高手进阶吧,前面讲过的不再重复。

版本:

文中例子使用的是IS12,适用于IS10以上。

目的:

前段时间,工作中需要把公司的产品做一个安装程序,于是接触使用IS,不过在网上根本找不到IS的相关中文教程(~!

本人英语不太好)。

最后通过网上找到的零碎的教程,结合帮助文档和在一些朋友的帮助下,熟练掌握了IS,并将公司产品做成一键式安装,本文就是以这个为实例。

强调:

《installshield11.5简明试用教程》是在网上下载的,不是作者原创。

作者信息:

木禾

 

1.安装前执行2

2.安装到指定位置3

3.添加数据库及数据3

4.其他8

5参考脚本10

这里先说说实例的具体要求,再在后面逐个去解决这些问题,以说明IS各菜单功能。

这是一个J2EE构架的的系统,安装到服务器上使用。

知道J2EE的肯定知道,安装机器必备JDK,所以需要安装JDK;然后系统使用Tomcat服务器,所以需要安装Tomcat;然后安装主程序,这个过程其实就是把程序文件夹拷贝到Tomcat的wabapps文件夹下;然后安装数据文件和出示数据(数据库得由客户自行安装),最后在程序文件夹和桌面创建快捷方式。

一.安装前执行,要求先自动安装JDK和Tomcat。

切换到InstallationDesigner,

加入JDK和Tomcat的安装程序。

编辑脚本使安装执行后,先提示安装JDK,在安装Tomcat,以下是脚本片段

(图片有些模糊,文档最后附有例子的全部脚本供参考)

第15-20行,控制执行JDK安装,第22-26,安装Tomcat。

二。

安装到指定路径,把文件夹复制到Tomcat的wabapps文件夹下。

以上代码图片中,第29-34行,执行这一操作。

先从注册表读取tomcat的安装路径,在把文件夹复制到Tomcat的wabapps目录下。

三。

安装数据库及数据

这是直接把数据库转化成脚本,如果已有数据库脚本,只要右键——>New一个,再Importscriptfiles。

选择数据库和登录的验证方式。

选择数据库并给脚本命名(名字无所谓)

这上面几个选项应该看的懂吧,选择需要到处哪些表。

数据库有原始数据需要也写入脚本的话,就选上Recoeds

这里就是选数据库中主外键之类的,当然要选了。

这里设置安装安装过程中的提示,和脚本出现错误了是据需执行还是退出。

 

四。

其他

●快捷方式

Target默认是指向机器内的一个绝对地址,可以把InternetShortcut设置成YES,就可以在Target内设置网址指向地址。

●2对话框设置

可以选择安装程序,对话框的样式。

这里也可以自由编辑对话框。

●生成安装程序的模式

建议选上SigleExecutable,可以把所有的封装到一个exe文件内。

 

五。

参考脚本

//===========================================================================

//

//FileName:

Setup.rul

//

//Description:

Blanksetupmainscriptfile

//

//Comments:

Blanksetupisanemptysetupproject.Ifyouwantto

//createanewprojectvia.step-bystepinstructionsusethe

//ProjectAssistant.

//

//===========================================================================

//Includedheaderfiles----------------------------------------------------

#include"ifx.h"

 

//---------------------------------------------------------------------------

//OnFirstUIBefore

//

//FirstInstallUISequence-BeforeMoveData

//

//TheOnFirstUIBeforeeventiscalledbyOnShowUIwhenthesetupis

//runninginfirstinstallmode.BydefaultthiseventdisplaysUIallowing

//theendusertospecifyinstallationparameters.

//

//Note:

Thiseventwillnotbecalledautomaticallyina

//program...endprogramstylesetup.

//---------------------------------------------------------------------------

functionOnFirstUIBefore()

numbernResult,nLevel,nSize,nSetupType,nvSize,nType;

stringszTitle,szMsg,szOpt1,szOpt2,szLicenseFile;

stringszName,szCompany,szTargetPath,szDir,szFeatures,szTargetdir;

stringszJDK,svTomcat,szKey;

BOOLbLicenseAccepted;

begin

nSetupType=COMPLETE;

szDir=TARGETDIR;

szName="";

szCompany="";

bLicenseAccepted=FALSE;

szKey="";

nType=0;

svTomcat="";

szJDK="";

//BeginningofUISequence

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)gotoDlg_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

gotoDlg_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)gotoDlg_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

gotoDlg_SdRegisterUser;

else

nSetupType=nResult;

if(nSetupType!

=CUSTOM)then

szTargetPath=TARGETDIR;

nSize=0;

FeatureCompareSizeRequired(MEDIA,szTargetPath,nSize);

if(nSize!

=0)then

MessageBox(szSdStr_NotEnoughSpace,WARNING);

gotoDlg_SetupType2;

endif;

endif;

endif;

Dlg_SdAskDestPath2:

if((nResult=BACK)&&(nSetupType!

=CUSTOM))gotoDlg_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)gotoDlg_SetupType2;

Dlg_SdFeatureTree:

if((nResult=BACK)&&(nSetupType!

=CUSTOM))gotoDlg_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)gotoDlg_SdAskDestPath2;

endif;

//Displayamessageboxthatshowstheinformationicon.

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);

endif;

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="SOFTWARE\\ApacheSoftwareFoundation\\Tomcat\\5.0";

nType=REGDB_STRING;

svTomcat="";

//Getthelistofsubkeys.

if(RegDBGetKeyValueEx(szKey,"InstallPath",nType,svTomcat,nvSize)<0)then

MessageBox("查找Tomcat路径失败,系统不能继续安装",SEVERE);

return-1;

endif;

TARGETDIR=svTomcat+"\\webapps";

Dlg_SQLServer:

nResult=OnSQLServerInitialize(nResult);

if(nResult=BACK)gotoDlg_SdFeatureTree;

Dlg_ObjDialogs:

nResult=ShowObjWizardPages(nResult);

if(nResult=BACK)gotoDlg_SQLServer;

Dlg_SdStartCopy2:

szTitle="";

szMsg="";

//{{IS_SCRIPT_TAG(Dlg_SdStartCopy2)

nResult=SdStartCopy2(szTitle,szMsg);

//}}IS_SCRIPT_TAG(Dlg_SdStartCopy2)

if(nResult=BACK)gotoDlg_ObjDialogs;

return0;

end;

(本资料素材和资料部分来自网络,仅供参考。

请预览后才下载,期待您的好评与关注!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1