Installshield2021制作安装包详解第一部分:差不多设置1. 打开Installshield 2018 Premier Edition,新建一个Installscript Project,它是一个全脚本类型程序,确实是用脚本来驱动安装界面。
选择类型为InstallerScript | InstallScript Projcet,输入工程名,指定工程所在的文件夹。
2.界面会切换到Project Assistant,从那个地点开始把工程的差不多组件和差不多文件建立好,只是一样在Installation Designer里进行设置。
3.在Project Assistant界面的底部,会有一个引导动作条,在建立该工程的差不多结构和文件时,能够在此界面进行操作。
4.点击界面上的Installation Designer,进入安装设计界面1.Installation Information文件夹要紧是设置该安装包的差不多信息,用户只要设置General Information里的信息,其它两个不用设置。
要紧是设置此安装包项目的名称,运行的操作系统和一些差不多信息。
anization文件夹要紧是进行安装设置,包括安装中要用到的文件,安装文件的执行顺序以及安装类型的设置(自定义安装和完全安装)。
Setup Design要紧是用来添加安装过程中所需的文件和快捷方式的设置,快捷方式设置包括开始菜单中的快捷方式和桌面快捷方式的设置。
还能够把文件的安装和脚本中函数的执行关联起来。
Features要紧是查看各装置的配置信息,Components要紧是查看各组件的配置信息,这两个差不多上方便用户查看一些设置的差不多信息。
Setup Types用来设置用户在自定义安装和完全安装时要安装的组件。
3.Application Data 文件夹要紧是提供用户查看运算机中的应用程序和文件,方便用户来选择其中的文件来制作安装包。
一样不需要用户操作。
4.System Configuration 文件夹要紧是查看系统的配置信息,包括安装包快捷方式的设置,当前运算机系统注册表的信息。
一样也不需要用户操作。
5.Server Configuration文件夹要紧是一些服务的配置信息。
一样也不需要用户操作。
6.Behavior and Logic 文件夹要紧是用来编写安装包程序的脚本,在InstallScript的Files文件夹下包括脚本文件,在Functions文件夹下显示脚本中所有的函数。
在Support Files/Billboards 下要紧是支持该安装包的一些文件,例如用户协议文件之类。
er Interface文件下是安装包的所有安装界面,用户能够在这设置安装界面的风格和选择安装过程中所要用到的安装包。
在IS中,以Sd开头命名的函数一样代表窗口函数。
8.Media 文件夹是安装包的类库,Path V ariables 中储存的是安装包中设置的一些路径变量的值,Releases下是制作完成的安装包的设置,要紧包括InstallShield运行的日志文件,制作好的安装包EXE文件的信息设置。
9.Additional Tools文件夹是一些额外的工具,一样用不到。
第二部分:脚本和安装包信息的介绍Installshield脚本对大小写敏锐,同时每个if都会和一个endif相配对,在每个Function 中,代码是按次序执行的。
安装路径:默认的情形下差不多上安装到C:\Program Files下,然而有一些例外,比如有的系统盘不在C盘上,为了使安装路径能够动态改变,installshield提供了ProgramFilesFolder属性,那个属性的值在安装的时候动态地初始化为目标系统的Program file名目。
Features: 你的安装程序在专门多情形下,能够通过那个属性页将你的所有的安装程序分组,然后在安装的过程中,用户能够选择自定义安装方式来自己选择需要安装的内容。
选择要安装的对话框,向导会自动将你选择的对话框脚本函数添加到工程的脚本中。
InstallShield中两个路径:SUPPORTDIR:Behaviour and Logic/Support Files/Language Independent下的文件TARGETDIR:General Information/Product Properties/Organization/Setup Design/Feature/Required Features:当安装该组件时同时需要安装的组件。
Organization/Setup Design/Feature/OnInstaling:在该组件安装之前所需要调用的脚本方法。
Organization/Setup Design/Feature/OnInstalled:在该组件安装之后所需要调用的脚本方法。
Organization/Setup Design/Feature/OnUninstaling:在该组件卸载之前所需要调用的脚本方法。
Organization/Setup Design/Feature/OnUninstalled:在该组件卸载之后所需要调用的脚本方法。
检验某些安装环境是否差不多安装或安装版本是否匹配:一样是在注册表中查找该程序的版本或在System32文件夹下查找该程序运行过程中的某些DLL的版本。
通过按F1来查看关心文档,里面有InstallShield的API介绍文件的拷贝顺序是按Organization/Setup Design/Feature/Compent下的顺序拷贝的EPA安装包下:Organization/Setup Design/EPA Soft kit有EPA_Installing和EPA_Installed两个选项,说明当EPA Soft kit下的组件全部安装之前和安装完后会调用这两个方法。
在OnInstallingFile函数中拷贝完文件到目标路径(EPA Tester)后,就执行对应的函数(EPA Tester_Installed())Requirement Modul e功能块里放置一些公用的EXE和安装程序文件EPA ClockSync Test中要用到Requirement Module的东西,在自己的Required Features 中进行设置,把Requirement Module包括进来。
Organization/Setup Design/Feature/FileNeed:用来设置某些组件是否承诺用户取消安装。
一些DLL和文件的介绍:C:\WINDOWS\system32\dfshim.dll:属于.NetFreamWork的一个DLLC:\WINDOWS\system32\wpcap.dll:属于WinPcap的一个DLLC:\WINDOWS\system32\aksusb3.dll,akshsp51.dll,akshhl27.dll,aksllmtp.exe,电子狗regsvr32.exe(C:\WINDOWS\system32\):regsvr32.exe用于注册Windows操作系统的动态链接库和ActiveX控件,ActiveX控件只有通过注册才能被系统识别和使用。
它确实是windows自带的注册和反注册工具。
bat文件:bat是dos下的批处理文件。
批处理文件是无格式的文本文件,它包含一条或多条命令。
它的文件扩展名为.bat 或d。
在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe按照该文件中各个命令显现的顺序来逐个运行它们。
使用批处理文件(也被称为批处理程序或脚本),能够简化日常或重复性任务。
第三部分:脚本编程这部分要紧讲解InstallScript脚本,脚本中一些要紧的函数以及它们的执行顺序。
一些用到的CMD命令和Windows的注册服务。
假如你想修改某个事件处理函数,你能够从事件列表中选择一个事件比如我们选择(Before Move Data),然后选择一个关于那个事件的函数(比如Begin),然后那个函数的定义就会显现在你的脚本中,在你的脚本中会显现下面的代码。
安装、修复、重新安装(修改)或卸载状态,后三者都属于MAINTENANCE状态Regserver: 注册服务Unregserver:反注册服务修改安装界面处理用户的输入:在你的安装脚本中,所有处理用户输入对话框的显示只在下面的四个函数中显现OnFirstUIBefore,那个函数里包含了用户第一次安装该程序,在复制文件之前的所有的对话框。
OnFirstUIAfter,那个函数包含用户第一次安装该程序,在复制文件之后所用到的对话框显示OnMaintUIBefore,那个函数中包含了用户采纳maintenance模式安装时,在复制文件之前的所用到的所有的对话框。
OnMaintUIAfter,那个函数中包含了用户采纳maintenance模式安装,在复制文件之后所用到的对话框。
关于InstallScript 工程来说,事实上那个地点最重要的依旧OnFirstUIBefore and OnMaintUIBefore两个函数,用户不管是第一次安装依旧maintenance安装,对话框显示都在这两个函数中。
EPA安装项目中代码的执行顺序:(安装)1.OnSetTARGETDIR is called directly by the framework to initializeOnSetTARGETDIR自动被系统调用,入口函数2.OnIISCheckRequirements3.OnShowUI()4.OnFirstUIBefore()//安装界面都在那个函数中5.OnMoveData() (OnMoveData开始)6.OnMoving()7.OnInstallingFile (system32下的一些DLL,Requirement Module下的文件拷贝到目标文件夹下,Read.txt,License.txt,之后就能够进行安装环境检查了,那个函数中间过程中一直有,之后会拷贝一些文件到目标文件夹下)8.EPA_Installing9.RequirementModule_Installed(安装程序前的必备环境)10.EPAClockSyncTest_Installed11.EPACSMETest_Installed12.EPA Tester_Installed()13.EPA ToolKit_Installed()14.EPAOPCServer_Installed()15.EPAConfiguration_Installed()16.EPA_Installed()(OnMoveData终止)17.OnFirstUIAfter()卸载:1.OnSetTARGETDIR()入口函数2.OnIISCheckRequirements()3.OnShowUI4.OnMaintUIBefore()(选择三个去向,修改,修复,除去)5.OnMoveData()6.EPA_UnInstalling()7.EPAConfiguration_UnInstalled8.EPAOPCServer_UnInstalled()9.EPA Tester_UnInstalled()10.EPAClockSyncTest_UnInstalled()11.EPA_UnInstalled()12.OnMoved(OnMoveData终止))13.OnMaintUIAfter修改:删除部分组件修复:重新安装程序除去:卸载程序InstallShied2018的函数执行顺序如下:OnBegin ---> OnShowUIOnShowUI里面为:OnFirstUIBefore ----> OnMoveData ------> OnFirstUIAfterOnFirstUIBefore (include): 欢迎界面, 选择安装路径, 安装的类型. OnMoveData(include): 文件的拷贝OnFirstUIAfter(include): FileAttribute, Modify registration, create shortcut, register f ilter/com,excute custom exe;第二次运行Setup的时候:(爱护,一样会显现我们所看见的Repair、Modify、Delete三个选项)OnMainUIBefore ---> OnMoveData ----> OnMainUIAfter注册表操作和文件操作的一些函数:RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);//设置默认的注册表键值根节点RegDBCreateKeyEx ("\\SOFTWARE\\SUPCON\\EPA系统应用软件包\\EPA CSME Test", "");//创建一个注册表键值RegDBDeleteKey("\\SOFTWARE\\SUPCON\\EPA系统应用软件包\\1.0"); //在注册表中删除该项//设置注册表值,参数介绍:注册表里的键,键名(某个环境变量),被设置的键的类型(字符型),键值,该键值的实际大小RegDBSetKeyValueEx ("\\SOFTWARE\\SUPCON\\EPA系统应用软件包", "path", REGDB_STRING_EXPAND, TARGETDIR, -1);LaunchAppAndWait(WINSYSDIR^"regsvr32.exe","/s\""+WINSYSDIR^"EPA_SO CKET.dll\"",WAIT);//运行某个应用程序BatchFileLoad(TARGETDIR^"EPA Tester\\Tools\\repair.bat"); //把BAT文件加载至内存BatchAdd("path_",COMMONFILES^"SUPCON\\TCL\\bin","TCLPATH",REPLACE) ;//修改BAT文件BatchFileSave("");//储存文件删除文件操作:DeleteDir(TARGETDIR^"EPA Tester\\lib", ALLCONTENTS);//删除文件,名目下的所有文件。