installShield2010安装说明
Installshield终极使用教程

Installshield终极使⽤教程Installshield使⽤1 说明(适⽤范围)1.1IS各⼯程介绍IS将安装⼯程根据⼯程的特点分了⼏⼤类:InstallScript ;Windows Installer;Universal installer。
其中,Universal这个⽐较好理解,⼤概就是⽤来做跨平台的安装程序。
InstallScript 和Windows Installer的区别,我到是⼀直不是很清楚,⼤概意思就是如果你使⽤InstallScript模式是使⽤脚本来驱动安装界⾯,使⽤Windows Installer则主要是使⽤操作系统⾃带的安装服务来驱动安装。
在每个⼤类⾥⾯有划分了不同的⼩类。
这⾥请参考IS帮助中的说明。
2 COMMON篇之InstallScript Porject2.1使⽤向导做⼀个简单的安装包2.1.1了解你要安装的程序⾸先你要清楚,你的程序所需要的运⾏环境要求。
这个安装包例⼦中,我们要打包这样⼀个系统:主程序是LearnQClient.exe,rtcdll.dll,ImageOle.dll,dxmrtp.dll,dsoframer.ocx,config.ini,许可协议.txt;它运⾏时需要读取当前⽬录下的config.ini,由于这个程序是⽤VC开发的,所以还需要运⾏的机器上有vc的运⾏库。
具备了这个环境,LearnQClient.exe程序才能正常运⾏起来。
这就要求我们做好的安装程序安装时要将LearnQClient.exe,rtcdll.dll,ImageOle.dll, dxmrtp.dll,dsoframer.ocx,config.ini拷贝到指定的安装⽬录,也可将ImageOle.dll,dsoframer.ocx拷贝到当前系统的系统⽬录(windows9x中系统⽬录是windows/system;windows 2000/xp的系统⽬录是system32)。
installshield教程

installshield教程InstallShield是一种用于创建安装程序的软件工具,它被广泛用于Windows操作系统。
它提供了一个易于使用的界面,可以帮助开发人员创建和部署软件安装包。
以下是一个简单的InstallShield教程,帮助您开始使用这个强大的工具:1. 下载和安装InstallShield软件。
您可以从Flexera的官方网站下载最新版本的InstallShield。
2. 打开InstallShield软件。
在打开软件后,您将看到一个主要的项目窗口,其中包含项目资源和设置。
3. 创建新项目。
单击“文件”菜单,然后选择“新建项目”选项。
在新建项目对话框中,选择您的项目名称和保存位置。
4. 添加软件资源。
在项目窗口的左侧面板中,选择“资源视图”。
选择“文件夹”,然后从您的计算机中选择要添加到安装程序的文件和文件夹。
5. 配置安装程序设置。
在项目窗口的左侧面板中,选择“设置视图”。
在“常规”选项卡中,设置安装程序的名称、版本号和目标操作系统等信息。
6. 配置安装程序界面。
在项目窗口的左侧面板中,选择“用户界面视图”。
选择一个适合您的项目的安装界面模板,并进行必要的自定义设置。
7. 配置安装程序行为。
在项目窗口的左侧面板中,选择“行为视图”。
在这里,您可以设置安装程序的行为规则,例如安装位置、文件覆盖选项等。
8. 构建安装程序。
在菜单栏中,选择“生成”选项,并选择“构建”选项。
这将开始编译和生成您的安装程序。
9. 测试安装程序。
在菜单栏中,选择“生成”选项,并选择“运行”选项。
这将启动一个安装程序测试程序,您可以在其中模拟真实环境中的安装。
10. 发布安装程序。
在菜单栏中,选择“生成”选项,并选择“导出”选项。
这将创建一个可执行的安装程序文件,您可以将其分发给用户并进行安装。
这是一个简单的InstallShield教程,帮助您开始使用这个功能强大的软件工具来创建和部署Windows安装程序。
InstallShield安装包制作指南

InstallShield安装包制作指南Install Shield 安装包制作指南⽬录1 Install Shield简介 (4)2 Install Shield 安装 (4)2.1 下载安装 (4)2.2 安装步骤 (5)3 Install Shield界⾯说明 (11)3.1 Install Shield IDE界⾯ (11)3.2 Visual Studio 2010集成界⾯ (13)4 InstallShield安装包制作 (15)4.1 选择安装包类型 (15)4.2 创建MIS安装程序 (15)4.2.1 新建MIS安装项⽬ (15)4.2.2 Project Assistance (16)4.2.3 配置应⽤程序信息(Application Information) (18)4.2.4 配置安装环境需求(Installation Requirement) (19)4.2.5 指定安装包结构(Installation Architecture) (20)4.2.6 添加安装⽬标⽂件(Application Files) (20)4.2.7 创建应⽤程序快捷⽅式(Application Shortcuts) (21)4.2.8 编辑注册表项(Application Register) (22)4.2.9 选择安装向导界⾯(Installation Interview) (23)4.2.10 选择安装程序语⾔⽀持(Installation Localization) (23)5 编译⽣成安装包 (24)6 安装制作⾼级篇 (25)6.1 软件组件集成打包 (25)6.2 集成数据库安装 (26)6.2.1 SQL脚本⽅式 (26)6.2.2 数据库⽂件⽅式 (30)6.3 修改程序配置⽂件 (31)6.4 Installation Designer⾼级应⽤ (32)6.4.1 配置安装包媒体格式 (32)1 Install Shield简介由FLEXEAR SOFTWARE公司出品的专业安装程序制作软件,为软件发⾏商提供了⼀个强⼤且灵活的解决⽅案,通过它,可以制作Windows平台和跨平台的安装程序封装软件,让软件可以在不同操作系统平台下正常安装使⽤。
InstallShield 2010 Basic MSI Project制作过程

InstallShield 2010 Basic MSI Project制作过程1.单击Creat a new project 如图1所示,选择Basic MSI Project,修改project name,单击OK图12.单击Application Information,如图2所示,修改公司名称,应用程序名称,版本号,公司网址,单击Browse,修改添加删除程序中所显示图标图23.单击Installation Requirement,选择所支持的系统,和需要附加安装的程序如图3所示4.单击Installation architecture,选择是否自定义安装特性如图4图45.单击Application Files,在需要添加文件的文件夹下单击Add,若要添加字体文件,在Destination Computer处单击鼠标右键,选择FontsFolder,在FontsFolder下添加字体文件如图图56.单击Application Shortcuts,单击Create an uninstallation shortcut,添加卸载快捷方式,选择USe alternate shortcut Icon自定义快捷方式图标,单击Rename修改快捷方式名称如图6所示7.单击Application Register修改注册表数据如图7所示图78.单击Installation Interview修改许可证协议,输入计算机名,修改安装路径,选择是否只安装部分,修改应用程序图标,如图8所示,单击USe custom images on dialogs,修改安装对话框中的图片,如图9所示图8图99.单击Installation Localization,修改安装语言如图10所示图1010.单击Installation Designer,单击General Information,修改基本信息如图11所示图1111.单击Setup Design,单击所需修改的文件夹,单击Permanent选择yes,则此文件在卸载时保留,如图12所示图1212.单击User Interface下的Billboard,在Images处单击右键选择New Billboard Ins,则可以添加安装时的广告牌,在右侧的选项中,可以对广告牌进行设置,如图13所示图1313.在Project Assistant中单击Build Installation,选择Single Executale,单击Build Installations,如图14所示图1414.在Installation Designer中选择Media下的Releases,单击PROJECT_ASSISTANT,单击General,可以修改安装文件的基本信息,单击Setup File Name,可以修改安装文件的文件名,如图15所示15.单击SINGLE_EXE_IMAGE,单击右侧的Setup.exe,单击Small Initialization Dialog选择yes,使安装初始对话框最小化如图16所示,单击工具栏中的编译按钮,则完成编译。
installshield2010学习文档

Installshield学习资料Installshield是一个制作安装程序的软件,下面以一个实例讲述installshield的简单用法。
1、打开installshield软件,界面如下2、新建一个项目,点击file菜单—》new…,界面如下,选择如下面红色区域,输入项目名字,点击“ok”3、进入下面的界面,下面的那一条,是新建一个安装程序的向导。
4、点击向导的第一步,出现如下界面,输入的相应的信息5、点击向导的第二步6、出现如下界面,点击Yes单选按钮7、如下图,用“New”按钮建立两个features,分别是java和tomcat,用来存放安装文件,8、点击向导的第三步“Application Files”9、出现以下界面,下拉框选中“java”,在左边选中“Application TargetFolder”,点击右下角的“Add Folders”,如第二个图,选中已经准备好的Java安装文件(就是JAVA安装以后的生成的那些文件);点击“确定”出现以下页面点击“Yes”如上设置,点击“OK”.10、选中下拉框选中“tomcat”,方法同上,设置tomcat下的安装文件;再添加一个文件startup.bat,用来做快捷方式时用(在12步时用),注意添加文件时点击“Add Files”按钮。
11、点击向导的第四步:“Application Shortcuts”12、点击“New”选中“startup.bat”,13、修改安装协议:点击“Installation Designer”--- 选择左边的“Behavior and Logic”,如下选择14、新建一个自己的文档,输入协议内容,名字为license.rtf,回到刚才界面,右边的部分如下,将右边的license.rtf删除,在右边的部分右击鼠标,可以选择插入文件,将自己的文件插入即可15、设置默认安装路径:点击“Installation Designer”---→选择左边的“Behavior and Logic”-→”InstallScript”,如下以下界面16、如图选择17、代码做如下更改:18、如图选择19、这只是简单的安装。
InstallShield 2010 打包实例

下面我们一步一步来建立一个基本的工程,并且使用脚本来完善和丰富所需功能第一部分:基本设置1.打开Installshield 2010 Premier Edition,新建一个Installscript MSI Project,这种被称之为半脚本程序,因为兼具Basic Project基本类型和Installscript Project全脚本类型两者的优点,我比较喜欢用。
像我这样需求的,既要用到Wizard的便利,又想写一点脚本来实现一点自定义操作的,就比较适合用这种类型啦。
选择类型为Windows Installer | InstallScript MSI Projcet,输入工程名,指定工程所在的文件夹。
2.界面会切换到Project Assistant,我们先从这里开始把工程的基本组件和基本文件建立好。
3.在Project Assistant界面的底部,会有一个引导动作条,在建立该工程的基本结构和文件时,我们都将在此界面进行操作,下文都将以“引导条”来指代这个引导动作条。
4.点击引导条上的Application Information这里输入:公司名,公司名将会出现在Setup.exe的注解中软件名,将会出现在安装过程的左上角标题栏上版本号,没看到在哪,不过自己比较方便地知道自己在编译哪个版本的软件公司网址,没看到在哪,而且如果该公司没有网址呢?而且这里有点bug,好像默认的值总是会报一个String_ID1为空的错误,自己输入一个网址就不会报错。
是否在你创建了更新时自动通知最终用户,没用过,我都选了No。
选择一个图标,这个图标会出现在“添加或删除程序”里,我一般用默认的,当然你可以替换成自己想要的图标。
5.点击引导条上的Installation Requirement这里选择对操作系统和一些软件的需求。
根据自己需要来选择是否要求操作系统的版本,已经是否要求安装了某些软件。
需要选中Windows Installer 3.1(x86) 和Mirosoft .NET Framework 3.5:6.点击引导条上的Installation Architecture这是个十分有用的设置,对于本文所用的分布式软件来说非常合适,分布式软件的每个组件可以设置为一个Feature,用户可以自由选择安装某些功能。
installshield+2010+使用详解详解(tomcat+jdk+mysql绿色版)

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文件,网页,光盘)如果没有需要其他设置的东西,就可以发布了,但一般都会其他内容,通过InstallationDesigner设置2Installation Designer详解其中:2.1 General Information :程序信息,在此处,可以对程序基本信息进行修改修改默认图标(Distplay Icon)修改默认安装路径TARGETDIR修改安装语言,默认语言,程序名称等2.2Trialware :我也不知道干嘛用的2.3 Setup Design ,Features,Components,SetupTypes:这几个也不太了解只知道通过修改components 中的SelfRegFiles 的用户自注册属性为NO ,jdk就不会报未注册的错误提示SetupTypes:设置安装类型(完整安装,自定义安装)2.4 files and Folders: 要安装的文件内容程序文件可在此处从电脑本地拖到相关位置2.5Prerequisites 和Objects都为系统所需控件,我没用到2.6 Shortcuts :快捷方式,可以通过此处添加2.6Registry:修改注册表:2.8XML File Changes : xml文件,我也没用到,不知道啥作用2.9 Internet Information Services ,SQL Scirpts 没用到2.10 InstallScript:脚本文件2.11 Support Files /BillBoards :调用外部程序在Language Independent 里面添加文本license,询问是否同意安装时显示的文件在Disk1里面添加外部安装包程序2.12Dialogs:窗口显示样式,显示内容Skins:安装皮肤,可选择样式AllDialogs:页面内容,大小,样式,可以调整包括选择路径欢迎页面是否需要重启剩余空间等3 脚本3.1 事件function OnFirstUIBefore() : 安装之前执行的动作function OnFirstUIAfter() 安装完成后,点完成前执行的动作function OnMaintUIBefore() 卸载前执行的动作3.2 方法string szupdatepath; 定义变量szupdatepath=TARGETDIR ^ "mysql\\updatePath.bat"; 变量赋值执行bat文件(执行安装程序):if(LaunchAppAndWait(szupdatepath,"",WAIT)<0) thenMessageBox ("设置mysql路径",SEVERE);Endif修改注册表:string szKeyRoot,szKeyRootStart;//jdk加入注册表RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE); //设置注册表函数默认值szKeyRoot = "SOFTWARE\\JavaSoft\\Java Plug-in\\jdk-1.6" ; //需创建多个子项时要一个一个创建否则卸载不了RegDBCreateKeyEx (szKeyRoot , "" ); //了用""代替类RegDBSetKeyValueEx(szKeyRoot,"HideSystemTrayIcon",REGDB_NUMBER,"0",-1);RegDBSetKeyValueEx(szKeyRoot,"JavaHome",REGDB_STRING,TARGETDIR ^ "\\jdk-1.6\\jre",-1);RegDBSetKeyValueEx(szKeyRoot,"UseNewJavaPlugin",REGDB_NUMBER,"1",-1);3.3 bat脚本1:设置环境变量@echo offtitle JDK和Tomcat环境变量设置color 0aecho ---------------------------------------------------echo.echo 现在开始配置环境变量echo ---------------------------------------------------echo 正在配置环境变量,请稍候......reg add "HKCU\Environment" /v JAVA_HOME /t reg_sz /d "%~dp0jdk-1.6" /freg add "HKCU\Environment" /v JAVA_HOME2 /t reg_sz /d "%~dp0jdk-1.6" /freg add "HKCU\Environment" /v JRE_HOME /t reg_sz /d "%~dp0jdk-1.6\jre" /freg add "HKCU\Environment" /v Tomcat_Home /t reg_sz /d "%~dp0apache-tomcat-1;%~dp0apache-tomcat-2" /freg add "HKCU\Environment" /v ClassPath /t reg_sz /d ".;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\lib\tools.jar" /freg add "HKCU\Environment" /v Path /t reg_sz /d "%%JAVA_HOME%%\bin;%%Tomcat_Home%%\bin;" /fpause2 、启动tomcat@ECHO OFFecho start programsc config Tomcat6 start= autonet start Tomcat6sc config selfhelp start= autonet start selfhelp@pause3、终止tomcat ,并删除tomcat服务@ECHO OFFecho stop programnet stop Tomcat6net stop selfhelpsc delete Tomcat6sc delete selfhelp@pause1、把tomcat文件server.bat加入到系统服务echo install tomcat as windows servicecd /d %~dp0call service.bat installsc config Tomcat6 start= autoecho install tomcat as windows service --end pause2、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.ini3、启动mysql@ECHO OFF@copy "%~dp0\my.ini" %SystemRoot% /y@"%~dp0\bin\mysqld-nt.exe" -install@net start mysql@pause7.停止mysql并删除系统服务@ECHO OFF@net stop mysql@sc delete mysql@pause3.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 ) thenDisable( 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 SequenceDlg_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) thengoto Dlg_SdWelcome;elsebLicenseAccepted = 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) thengoto Dlg_SdRegisterUser;elsenSetupType = nResult;if (nSetupType != CUSTOM) thenszTargetPath = TARGETDIR;nSize = 0;FeatureCompareSizeRequired( MEDIA, szTargetPath, nSize );if (nSize != 0) thenMessageBox( 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;//---------------------------------------------------------------------------// 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 = "SOFTWARE\\JavaSoft\\Java Plug-in\\jdk-1.6" ; //需创建多个子项时要一个一个创建否则卸载不了RegDBCreateKeyEx (szKeyRoot , "" ); //了用""代替类RegDBSetKeyValueEx(szKeyRoot,"HideSystemTrayIcon",REGDB_NUMBER,"0",-1);RegDBSetKeyValueEx(szKeyRoot,"JavaHome",REGDB_STRING,TARGETDIR ^ "\\jdk-1.6\\jre",-1);RegDBSetKeyValueEx(szKeyRoot,"UseNewJavaPlugin",REGDB_NUMBER,"1",-1);//开机启动tomcat,mysql//szKeyRootStart="SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run";// RegDBCreateKeyEx (szKeyRoot , "" ); //了用""代替类// RegDBSetKeyValueEx(szKeyRoot,"tomcatAm",REGDB_STRING,TARGETDIR ^ "\\apache-tomcat-1\\bin\\startup.bat",-1);// RegDBSetKeyValueEx(szKeyRoot,"tomcatSelf",REGDB_STRING,TARGETDIR ^ "\\apache-tomcat-1\\bin\\startup.bat",-1);// MessageBox ("完成注册表",SEVERE);// 开始启动服务szupdatepath=TARGETDIR ^ "mysql\\updatePath.bat";szMysqlStart = TARGETDIR ^ "mysql\\StartMysqlService.bat";szMysqlImport = TARGETDIR ^ "mysql\\sqlscripts.bat";szdirs="aetec" ^ "apache-tomcat-1" ^ "bin";// szAMStart = TARGETDIR ^ "apache-tomcat-1\\bin\\startup.bat";// szSelfStart = TARGETDIR ^ "apache-tomcat-2\\bin\\startup.bat";environment=TARGETDIR ^ "environment.bat";szRegTomcat1= TARGETDIR ^ "apache-tomcat-1\\bin\\services.bat";szRegTomcat2= TARGETDIR ^ "apache-tomcat-2\\bin\\services.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) thenMessageBox ("设置mysql路径",SEVERE);endif;if(LaunchAppAndWait(environment,"",WAIT)<0) thenMessageBox ("配置环境变量出错",SEVERE);endif;//判断mysql服务是否开启szServiceState = SERVICE_STOP_PENDING; //这里主要是定义数据类型,这个很重要否则出错.if ServiceGetServiceState("MySQL", szServiceState)< ISERR_SUCCESS then//MessageBox("MSSQLSERVER服务关闭",SEVERE);elseMessageBox("当前系统已安装了Mysql服务,请先卸载系统原mysql,重新安装",SEVERE);abort;endif;if(LaunchAppAndWait(szMysqlStart,"",WAIT)<0) thenMessageBox ("启动mysql服务出错",SEVERE);endif;if(LaunchAppAndWait(szMysqlImport,"",WAIT)<0) thenMessageBox ("导入数据库脚本出错",SEVERE);endif;if(LaunchAppAndWait(szRegTomcat1,"",WAIT)<0) thenMessageBox ("添加am(Tomcat6)服务出错",SEVERE);endif;if(LaunchAppAndWait(szRegTomcat2,"",WAIT)<0) thenMessageBox ("添加自助(selfhelp)服务出错",SEVERE);endif;if(LaunchAppAndWait(startPro,"",WAIT)<0) thenMessageBox ("启动程序出错,请手动启动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 ) thenSdFinishReboot ( szTitle , szMsg1 , SYS_BOOTMACHINE , szMsg2 , 0 );else// If the update service is enabled, show finish dialog that includes// update check option.if( bShowUpdateServiceDlg && ( ENABLED_ISERVICES & SERVICE_ISUPDATE ) ) thenif( SdFinishUpdateEx( szTitle, szMsg1, szMsg2, szOpt1, szOpt2, TRUE ) ) then// Don't check for updates in silent mode.if( MODE != SILENTMODE ) thenUpdateServiceCheckForUpdates( "", FALSE );endif;endif;elseSdFinish ( 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; //提取注册表时,一定要把他转换成这种数据类型,否则出错beginszMysqlStop = TARGETDIR ^ "mysql\\DelMysqlService.bat";// szAMStop = TARGETDIR ^ "apache-tomcat-1\\bin\\shutdown.bat";// szSelfStop = TARGETDIR ^ "apache-tomcat-2\\bin\\shutdown.bat";szStopPro = TARGETDIR ^ "stopPro.bat";//显示注册表值nType1 = REGDB_STRING;nType2 = REGDB_NUMBER;nvSize = -1;RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);szKeyRoot = "SOFTWARE"^IFX_COMPANY_NAME^IFX_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 SQLOnSQLServerInitializeMaint();// Beginning of UI SequenceDlg_Start:if( !REMOVEONLY ) then// In standard mode show maintenance dialogDisable( BACKBUTTON );nType = SdWelcomeMaint( szTitle, szMsg, nType );Enable( BACKBUTTON );nResult = NEXT;elseDisable( DIALOGCACHE );// In RemoveOnly mode, set to remove.nType = REMOVEALL;endif;// Show Uninstall Confirmation Dialogif ( nType = REMOVEALL ) then //删除事件nResult = MessageBox( SdLoadString( IFX_MAINTUI_MSG ), MB_YESNO );if (nResult != IDYES ) thenif( REMOVEONLY ) thenabort;elsegoto Dlg_Start;endif;endif;endif;Dlg_SdFeatureTree:if ( nType = MODIFY ) thenszTitle = "";szMsg = SdLoadString( SD_STR_COMPONENT_MAINT_MSG );nResult = SdFeatureTree( szTitle, szMsg, TARGETDIR, "", -1 );if ( nResult = BACK ) goto Dlg_Start;endif;Dlg_ObjDialogs:nResult = ShowObjWizardPages( nResult );if ( ( nResult = BACK ) && ( nType != MODIFY ) ) goto Dlg_Start;if ( ( nResult = BACK ) && ( nType = MODIFY ) ) goto Dlg_SdFeatureTree;switch(nType)case REMOVEALL: //卸载调用(有卸载有做的动作都可以放到这里来)if(LaunchAppAndWait(szMysqlStop,"",WAIT)<0) thenMessageBox ("停止mysql服务出错",SEVERE);endif;if(LaunchAppAndWait(szStopPro,"",WAIT)<0) thenMessageBox ("停止系统服务出错!请手动停止后,再完全卸载",SEVERE);endif;MediaGetData( MEDIA, MEDIA_FIELD_MEDIA_FLAGS, nMediaFlags, szIgnore );if( nMediaFlags & MEDIA_FLAG_UPDATEMODE_SUPPORTED ) thenFeatureRemoveAllInMediaAndLog();elseFeatureRemoveAllInMedia();endif;SetStatusExStaticText( SdLoadString( IDS_IFX_STATUSEX_STATICTEXT_MAINTUI_REMOVEALL ) );case REPAIR: //修复if( ADDREMOVE ) thenFeatureUpdate( "" );elseFeatureReinstall();endif;SetStatusExStaticText( SdLoadString( IDS_IFX_STATUSEX_STATICTEXT_MAINTUI_REPAIR ) );case MODIFY: //修改事件SetStatusExStaticText( SdLoadString( IDS_IFX_STATUSEX_STATICTEXT_MAINTUI_MODIFY ) );endswitch;end;//---------------------------------------------------------------------------// OnUpdateUIAfter//// Update Mode UI Sequence - After Move Data//// The OnUpdateUIAfter event called by OnShowUI after the file transfer// of the setup when the setup is running in update mode. By default// this event displays UI that informs the end user that the maintenance setup// has been completed successfully.//// Note: This event will not be called automatically in a// program...endprogram style setup.//---------------------------------------------------------------------------function OnUpdateUIAfter()string szTitle, szMsg1, szMsg2, szOpt1, szOpt2;BOOL bOpt1, bOpt2;beginMessageBox("OnUninstall", MB_YESNO ) ;ShowObjWizardPages(NEXT);szTitle = SdLoadString(IDS_IFX_SDFINISH_UPDATE_TITLE);szMsg1 = SdLoadString(IDS_IFX_SDFINISH_UPDATE_MSG1);szMsg2 = "";szOpt1 = "";szOpt2 = "";bOpt1 = FALSE;bOpt2 = FALSE;if ( BATCH_INSTALL ) thenSdFinishReboot ( szTitle , szMsg1 , SYS_BOOTMACHINE , szMsg2 , 0 );elseSdFinish ( szTitle , szMsg1 , szMsg2 , szOpt1 , szOpt2 , bOpt1 , bOpt2 );endif;end;。
Installshield2010快速教程

系统环境:windows xp sp2. IS2010premier先决条件:MSI4.5或以上1). 首先选择project 类型,在这个实验里,我们选择Basic MSI.2). 在project Assistant处可以填写必要的信息(由于与本文讨论重点无关,不详细提及),点到Installation Designer处。
3).选择Media---Releases4).有键点chained .msi package, 点新建. 然后改成自己喜欢或者容易记录的名字.5).点Browse,选择你需要安装的MSI.如果选择是, IS会整合chained package 的MSI到用户将要生成的MSI内部, 选择否, 则不会整合.在这个例子中笔者选择否.7).在这里不得不提到一个路径问题, 就是SourceDir.简单来说SourceDir就是IS project 生成的MSI所在的位置.8). 关于chained package 的参数解释.1. Product code: 这个选项为MSI的GUID2.UI level: Basic UI(/qb)---只可以见到MSI的进度条,但伴随着一个取消的按狃Full UI(/qf)----这个不用说了把Reduced UI(/qr)---这个就是显示一个安装界面和进度条No UI(/qn)----没有任何安装界面3. Install condition: Not Installed 如果该MSI安装过就不安装,还没安装过就安装4. install properties: 此处填安装msi的参数,例如ADDLOCAL=ALL COMPANYNAME=MS. 但不需要静默安装参数,因为在UI level里面已经选好了5. Removal condition: 这个跟Install condition一样,保持默认就好6. Removal properties: 这个是卸载时所需要的参数, 同样,静默参数不需要填写.值得注意的是, Removal condition里面的参数, REMOVE="ALL" 意思就是当卸载软件的时候,该MSI就会完全被卸载, 很多情况下我们不希望安装的插件被无情地over,因为很多情况下,系统其他程序可能调用该插件或程序,例如XML6. 这里有个小技巧. 就是将REMOVE="ALL" 改成Not Installed (注意大小写), 这样就不用担心插件或程序被卸载详细请见IS官方文档/doc/Helpnet/installshield15helplib/Chained MSIPackages.htm关于MSI4.5的详细介绍及下载/kb/942288。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
选此项
8
选择installation Architecture
选此项
9
选择Application Files
需重命 名此项
改为软 件名称
10
选择添 加文件
将.bmp .jpg .wav. mdb .exe 文件添加
11
选择此 项
勾选此 项下一 步完成
下一步
12
选择application shortcuts
2
软件界面
3
制作步骤
根据以下示例一步一步完成软件制作
4
新建一个工程
新建一 个工程 我们选 择此项 创建软 件名称 软件输 出路径 点击OK 注意勾 选此项
出现以下界面
选择 此项
6
选择Project Assistant
填入公 司名称 填入软 件名称 选填入 版本号 填入公 司网址
7
选择installation requirements
Installshield2010 安装说明
公司安装软件制作
1
软件说明
为了开发在计算机中导入软件时使用的「 为了开发在计算机中导入软件时使用的「installer(安装程序)」 (安装程序)」 的软件。在同领域中实际上已成为业界标准。 的软件。在同领域中实际上已成为业界标准。由Macrovision公 公 公司)开发 司(旧InstallShield Software公司 开发 InstallShield支援软 旧 公司 开发. 支援软 件开发者开发安装程序。简单地通过文件的拷贝,指定快捷方式, 件开发者开发安装程序。简单地通过文件的拷贝,指定快捷方式, 变更注册表值等就可以开发出安装程序。同时, 变更注册表值等就可以开发出安装程序。同时,也能够制作为了 从计算机中删除软件的反安装文件。 从计算机中删除软件的反安装文件。 InstallShield 允许您快速简便地创建跨越所有 允许您快速简便地创建跨越所有Windows操作系 操作系 统的灵活的安装程序。 统的灵活的安装程序。 初次使用的程序员会发现很容易创建安装 程序, 程序,熟练用户则会发现其深度和灵活性特别适合开发复杂的软 件安装程序。 该软件支持最新的技术,包括Visual Studio 件安装程序。 该软件支持最新的技术,包括 2005/2008,.NET 2.0、.NET 3.0/3.5、SQL Server 2005和 、 、 和 Windows Vista。 InstallShield 还包括对 还包括对MSI 3.0的支持 对 的支持, 。 的支持 XML文件的自动支持和 文件的自动支持和Trialware的功能 允许程序员在其设置项 文件的自动支持和 的功能 仅对InstallShield 的高级版 加入更多的性能和灵活性。 的高级版)加入更多的性能和灵活性 加入更多的性能和灵活性。 目(仅对
添加桌面 快捷方式
需要更名 为客户端
13
选择application registry
选择 此项
14
选择installation interview
15
选择语言
若选择 不了选 此项
选择如 此图即 可
选择此 项
16
选择Build Instalation
勾选此项
点击运行
17
运行结果
运行结果
18
修改软件路径
安装完成,D:\客户端\客户端\Product Configuration 1\Release 1\DiskImages” 将DiskImages文件夹下的DISK1除.exe文 件全部删除制作为D:\客户端\DISK1 安装完软件的路径为C:\Program Files\北 京中科金马科技有限公司
19
安装软件
运行安 装程序
软件安 装完成
20
博爱 至简 诚信 创新
21