最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

系统安装包设计开发说明(By Install4j)

来源:动视网 责编:小OO 时间:2025-09-25 16:23:01
文档

系统安装包设计开发说明(By Install4j)

软件发行安装包(ByInstall4j)设计开发说明北京行知汇德软件有限公司BeijingTargsoftCo.,Ltd2012年5月变更日期变更原因变更类型简要说明(变更内容和范围)变更人SVN版本2012-05-30创建A全文创建缑融修订历史版本注:变更类型:A—新增、M—修改、D—删除1目的通过阅读此文档,开发人员可以自行设计开发本公司系统的向导型安装执行包(以下简称“安装包”)。本文档涉及如何使用Install4j和Eclipse辅助去开发向导是安装部署包。不涉及软件系统本身的设计开发
推荐度:
导读软件发行安装包(ByInstall4j)设计开发说明北京行知汇德软件有限公司BeijingTargsoftCo.,Ltd2012年5月变更日期变更原因变更类型简要说明(变更内容和范围)变更人SVN版本2012-05-30创建A全文创建缑融修订历史版本注:变更类型:A—新增、M—修改、D—删除1目的通过阅读此文档,开发人员可以自行设计开发本公司系统的向导型安装执行包(以下简称“安装包”)。本文档涉及如何使用Install4j和Eclipse辅助去开发向导是安装部署包。不涉及软件系统本身的设计开发
软件发行安装包 

(By Install4j)

设计开发说明

北京行知汇德软件有限公司

Beijing Targsoft Co.,Ltd

2012年5月

变更日期

变更原因变更类型简要说明

(变更内容和范围)

变更人SVN版本

2012-05-30创建A全文创建缑融
修订历史版本

注:变更类型:A—新增、M—修改、D—删除

 

1目的

   通过阅读此文档,开发人员可以自行设计开发本公司系统的向导型安装执行包(以下简称“安装包”)。

    本文档涉及如何使用Install4j和Eclipse辅助去开发向导是安装部署包。不涉及软件系统本身的设计开发实现。

2使用对象

设计人员、开发人员、相关交付负责部门

3设计开发过程说明

 Install4j(http://www.ej-technologies.com/products/install4j/overview.html)是一个功能强大的,多平台Java安装文件生成工具,用于生成Java应用程序本地化的安装及应用程序发布。 install4j 的优异性在于它易于使用,紧密的集成到目标平台,以及灵活的JRE 管理与部署选项。我公司采用此工具及开发环境来实现产品的打包及交付。目前国内用友、金蝶等大型软件开发厂商都有产品采用此工具进行安装包的开发。

3.1概述

    如上图所示:需要Eclipse与Install4j联合搭建开发环境才能实现从构建、扩展、调试到打包完整的开发过程。首先在Eclipse里搭建install4j_Eclipse支撑项目包,此项目起到支撑安装包工程里的自定义界面、自定义Action组件的开发和调试作用,其中的i4jruntime源代码目录可以对自定义代码进行深层次的跟踪调试。用Eclipse自构建Java工程形成安装包自定义项目,并将install4j_Eclipse支撑项目引入构建路径,这样就可以开发自定义界面、自定义Action组件了(自定义组件的作用见下节)。自定义工程的LIB目录可以放进自定义工程所需的Jar包。

    安装Install4j以后,建议在安装包自定义项目目录上新建Install4j项目(Project),Install4j项目的配置开发、编译构建可以在Install4j IDE集成开发环境里开展。同时建立resource目录用于放置Install4j项目所需的资源文件等。在Install4j IDE集成开发环境里需要配置项目安装策略、自定义组件、安装文件目录等信息,其中安装文件目录的来源就是已经准备打包的可执行代码目录(通常为EAP包目录),及其一些安装时需要的数据库备份资源及数据库初始化脚本等。

    使用Install4j IDE集成开发环境开发完毕后开始调试和试运行阶段,架构采用在Install4j IDE编译build构建安装包和调试包目录(debug_xxxx…目录),而在Eclipse开发环境里进行Debug的方式。需要针对调试包目录在Eclipse开发环境里配置Run的运行工作目录配置。

(以下以Targsoft20 for 技改投资项目管理信息系统 targsoft_27rail_eap.ear 为例说明开发过程)

3.2Eclipse开发环境搭建

 建立新的工作空间(workspace)以后,首先将install4j_Eclipse Java项目建立起来,项目结构如下图:

其中的i4jruntime源代码目录可以用于扩展自定义组件时对引用的Install4j API进行参考,也可以对自定义代码进行深层次的跟踪调试。需要注意的是,Install4j开发分为设计配置阶段和编译Build后的运行调试阶段,i4jruntime源代码因为主要含的是安装包真正运行调试时所需的基础库类,所以里面基本不含用于设计配置阶段的Eclipse的SWT和JFace的插件类库(Install4j IDE界面是基于Eclipse插件开发的,i4jruntime的界面是基于Swing开发的)。

    现在构建安装包的自定义扩展用项目,在Install4j里提供了基本的安装用界面和一些常用的界面组件和业务处理类(Action)。它们支持常用的如欢迎界面、选择安装路径组件、文本编辑框组件、文件/目录拷贝Action、替换更新文本配置文件Action等常用组件。但是我们的安装业务首先面临着要处理复杂的XML配置文件,其次要处理数据库及执行数据库脚本等更复杂的安装任务,那么以上的基本组件就不够了,需要通过开发扩展组件(甚至扩展界面)来达到目的(其实Install4j还可以在事件上编写轻量级的Java脚本来实现扩展)。自定义扩展用项目工程就是为了此目的,另外,这些扩展部份也需要进行调试,所以可以通过此工程进行对安装过程的调试。搭建的工程结构如下:

    如上图,除常见的src、lib目录之外,还有media、resources目录。目的主要是为了整合方便,media是Install4j的标准输出目录,未来产生的Debug输出和最终的安装包都会在此产生,resources目录是标准的项目资源文件放置目录,放置一些资源文件或多语言包文件。

3.3Install4j环境搭建

    Install4j开发环境搭建比较简单,只需要在IDE新建项目,然后将项目文件存储在安装包的自定义扩展用项目根路径上即可,如下图(Tagsoft20.install4j文件):

3.4Install4j IDE开发

 下图是打开主界面的情形(本文档并不对IDE开发环境进行全面的介绍,仅说明必须的操作):

    

    最上面是菜单栏, Project菜单主要是用来新建、打开项目文件的,同时还用来管理本IDE的属性和依赖的JDK等功能。需要说明的是,reopen project对于外部修改了代码在本IDE内的更新起效是非常有用的。Step菜单是对安装包制作过程的一个全面的向导,用户可以在此直接打开各需要配置内容的界面。Build菜单是将项目进行编译生成安装包的菜单。

    菜单下面是按钮区,放置了几个常用按钮。左部按钮区实际上并不是按照构建顺序排列的,是按照构建安装包所需要的各个方面的配置排列的,以下分别说明:

    General Settings是安装包项目整体上需要配置的内容方面,它分为几个Tab页,在Application Info 里可以配置项目的基本信息,注意这些编辑框右侧的可以用于填入变量(这里仅能输入compiler级别的变量)。(变量在IDE里起到动态赋值,随时引用的目的,也可以在运行时动态的被赋值实现编程的效果。变量分为三种类别:compiler级别、Install Runtime级别、i18N级别。compiler级别是指在IDE里指定好或系统本身确定了值的那些变量,可以理解为就是常量和系统环境变量。Install Runtime级别是在运行时可以赋值、取值的变量,可以理解为全局变量。i18N级别是指多语言包里定义的字串,就是多语言配置Key值)。其中我们在本例子中在Short Name里填入的是targsoft_27rail_eap.ear,它对应的是compiler级别的sys.shortName变量,这可以用于将来产生目的安装路径的文件目录命名中去。

    Java Version是对安装包使用的JDK进行配置,Minimum version指您的软件系统要求的最小JDK版本号。下面 Allow JREs with a beta version number是指JDK小版本号可以是有beta version的。下面的配置内容(JRE Search Sequence)主要是配置安装执行时如何发现客户机的JDK的策略,通过检查客户机的JDK安装包可以给出客户机是否存在需要的JDK,如果没有安装过程可以配置为不能向下进行。

    Languages是对安装包的多语言性进行配置的,首先Principal language:是指的默认的安装包使用的语言,Custom localization file 是指当您要自定义自己的语言字串时在哪个文件里定义,需要注意的是可以用”./”表示当前路径,当前路径就是install项目文件所在的路径(资源图片等路径同理),打开后,是一个配置文件,在里面可以用如下: 

方式进行语言串的定义。定义后就可以在配置里进行引用。

    Media File Options 是对构建输出安装包的配置,Media file output directory:是指安装包输出路径,Media file name pattern:是指产生的安装文件命名规则。最后需要说明的是如果您的路径使用的是绝对路径,当在Project Option里设置 Make all paths relative when saving the project file后这些配置也会转成相对路径的。

    Files是配置安装的文件/目录的内容的,只要是关于要安装拷贝的文件都在此进行配置。这里先看两个概念:file set 和 Installation Components。File set是指可以将要安装拷贝的文件进行打包划分,比如为windows平台和Apple平台要安装拷贝的文件是不同的,所以就将其分为两个file set。也可以先定义一个Default file set用于平台无关性的文件安装,然后再定义不同的file set用于差别的文件。Installation Components是可以将对安装不同的文件组合交给用户去决定,主要用于让用户去决定安装的种类如:默认的安装文件组合、全部安装、仅安装特定组件等。

    Define Distribution Tree 是定义配置安装文件内容的,点击然后点击 New Root可以定义安装的目的地目录,因为我们的系统要安装于用户选择的服务器容器内指定的目录上,所以要采用${installer:Install_Root_Path}这种变量的表述方案,其中Install_Root_Path就是用户在界面上指定目录后将目录存入的变量。配置完成后要添加安装目录,点击然后选择Add Files and Directories 打开向导页面:

  

选择Directory 然后下一步

选择来源目录(注意:此来源目录一定要存在,且要保留到安装包Build以后,因为构建安装包时文件才真正被打进安装包),我们的系统的EAP要求使用.eap目录,所以如上图所示,将安装文件打进以 sys.shortName命名的目录中,整个EAP放在Install_Root_Path指定的目录下。

    Launchers是指安装结束后可以直接启动何种服务、系统、进程等,例如在我们的例子中可以直接启动Jboss等服务器。

    Installer是指配置安装过程中的界面和后台业务操作,通过前三方面的配置IDE系统其实已经在此作了一些必要的自动配置内容。这里有六个概念:Screen、Action、Form Components、Application、Group、Link。Screen就是界面,基本上Install4j的安装过程就是一套顺序性的界面流,通过界面的不断切换来引导实现安装,每一个界面就是一个Screen。Action是用于在界面后台进行业务操作的功能组件,一般是在一个Screen向下一个Screen进行跳转时执行的。Form Components是放置在Screen上的界面组件,如Label、Text editor等,可以显示、编辑、赋值变量或按钮可以运行程序等。Application是一个应用,应用是由一系列的Screen或Group组成的,表示一套单独的安装过程,比如安装系统时走 Install Application,卸载时走Uninstall Application。升级时走Update Application。也可以增加自定义Custom installer application结合media制作用于特殊用途的维护型安装包的制作。Group可以将一系列的Screen或Action进行组合,可以统一管理它们的有效或忽略执行。Link用于对Screen或Group的引用,用于复用组件。需要注意的是Install Runtime级别的变量范围是在Application之内。

    在Screens & Actions Tab内用于可视化、配置化的对安装过程进行开发,系统默认已经有了Install Application和Uninstall Application。只需在内部摆放Screens 和 Actions即可,如下图所示:

点击可以加入Screen、Action等,需要注意的是Action必须加在Screen下面,系统已经预置了很多Screen和Action。右部的Configuration下的Properties用于配置各种级别组件的属性等内容。在Application级别,右部还有Installer Variables配置面板可以配置预定义的Install Runtime级别的变量。某些属性可以配置Script脚本,当点击属性框右部的按钮时可以打开Script脚本编辑界面,Script脚本采用Java语言格式,Script脚本内可以使用context上下文句柄,它可以与变量体系进行通讯,这样可以扩展一些业务功能。对于Screen右部还有Form Components配置面板可以配置界面内部的组件(通过点击Configuring Form Components按钮),如下图: 

还可以通过Preview Form预览界面效果。

    

    Custom Code & Resources Tab内用于配置界面编程所需要的自定义代码目录、资源目录,自定义代码所使用的Jar Lib目录等,需要注意的是,自定义代码目录一定是自定义代码工程的Class目录(即不是src目录)。而自定义代码所使用的Jar Lib目录必须采用 Scan directory,这样系统才能访问到Jar里的类。如下图所示:

    Media用于配置创建安装包的策略,如构建多平台安装包。点击图标IDE会弹出向导界面去创建安装包的策略。本例子中除需注意Installation directory一定是前面预定好的${compiler:sys.shortName}其它都直接采用默认值即可。

    Build用于编译全部的配置,并构建安装包,如下图:

点击Start Build即可开始创建安装包,其中当选择Create additional debug install时,就可以在 media目录下创建debug_xxxx目录,里面的内容就可以支撑用于调试安装包的执行了。(实际debug_xxxx内含的文件就是安装包自动展开的内容)。

3.5Eclipse自定义工程针对于扩展组件的开发

    在安装包的自定义扩展用项目里建立自定义扩展组件,可以自定义Screen、Action、Form Components。它们分别实现各自的接口和抽象类即可。(具体开发参见Help文档)。当开发完毕后,可以通过Screens & Actions Tab内的Custom Code或Configuring Form Components里的Search Form Component in Custome Code 加入。需要注意的是,自定义代码目录一定是自定义代码工程的Class目录且被加入Custom Code & Resources Tab内,还要注意当在Eclipse里对代码进行改动时,需要通过Reopen Project进行刷新才能更新自定义组件。

3.6安装包的调试

    点击Start Build完成以后,系统会在media目录下创建debug_xxxx目录,可以配置Eclipse的RUN来运行调试它。如下图所示:

    

新建Java Application 的运行项,然后以com.install4j.runtime.installer.Installer为运行主类表示是运行安装应用(如果是卸载的话用com.install4j.runtime.installer.Uninstaller)。然后在Arguments里配置如下图:

-Dinstall4j.runtimeDir 参数表示运行Install4j目录在后面的路径,要设置指向debug_xxxx目录,这是必须的,表示运行哪个项目工程。下面的Working directiory也要设到debug_xxxx目录,因为有些资源要被引用。

然后设定Classpath,如下图。注意要加上user.jar,这个Jar包存在于debug_xxxx目录下,是Install4j编译产生的,它包含了自定义的部份代码Class和Java脚本的编译代码Class。

设定完成后,即可以进行设置断点调试。调试过程中自定义代码部份是可以实时更新的(还是建议每次更新代码要重新Build创建安装包)。

调试效果如下:

运行效果:

3.7参考资料

●Install4j安装目录下的\install4j5\\doc\\ Help 文档

●网站:http://www.ej-technologies.com/products/install4j/

文档

系统安装包设计开发说明(By Install4j)

软件发行安装包(ByInstall4j)设计开发说明北京行知汇德软件有限公司BeijingTargsoftCo.,Ltd2012年5月变更日期变更原因变更类型简要说明(变更内容和范围)变更人SVN版本2012-05-30创建A全文创建缑融修订历史版本注:变更类型:A—新增、M—修改、D—删除1目的通过阅读此文档,开发人员可以自行设计开发本公司系统的向导型安装执行包(以下简称“安装包”)。本文档涉及如何使用Install4j和Eclipse辅助去开发向导是安装部署包。不涉及软件系统本身的设计开发
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top