制作产品安装包的软件有很多,开源的,破解的都很容易搞到,但是如果想定制化一些处理逻辑及界面,似乎就比较麻烦。另外,对于使用JAVA编写的安装程序,在安装前需要系统已经安装了JRE,似乎是难免的要求,如果能够在安装程序中绑定JRE,这样用户安装时不需要事先安装JRE就可以运行安装程序,将带来很大的便利性。下面我根据自己研究的两个用于实现上述要求的内容,进行一些讲述,重点将放到后者,即JRE的绑定。
我使用的开源包叫Izpack,现在最新版本是5.0,但要注意这个版本还在shapshot阶段,没有release包,根据我使用的经验,发现现在的BUG比较多,所以,建议使用4.3.5。至于它的原理,及使用指南,可以参考doc中的参考指南,很详细,虽然指南的版本是3.7,但大部分没有变化。其中有变化的我记得影响的部分应该是install.xml中一些配置的属性,在4.x的代码中有,但是文档没有说明,同样在shortcut.xml的说明部分也有这种情况,所以,在实际使用时,不防去代码中看看都有哪些属性。使用事例及框架先不说明了,因为指南里很详细的说明了。下面提一下使用时工程的建立相关的内容。
建议将其源代码下载下来,做为一个maven工程,以方便查看代码,以及有需要时,进行修改,需要注意的是,虽然其源代码工程中包含了一个eclipse下的代码样式xml文件,但是可惜的时,大部分源代码没有使用这个来格式化。
然后,再新建一个自己的工程,用于创建核心的install.xml,及资源文件,快捷键配置文件等。这里有一个sample,很适合用于搭建基于maven来管理的工程。我把它摘出来放到了附件可下载。其实它就在
https://github.com/izpack/izpack/tree/master/izpack-maven-plugin/src/it
,在这个的基础上,搭建一个可以构建出安装jar的工程。
下面,再说一说将jar打成exe的内容。lanuch4j,exe4j都可以实现这个功能,但是遗憾的是,不能绑定JRE,即,需要使用相对路径来指定系统的JRE,对于想一个exe直接无依赖的运行,还是行不通的。于是,找其它的,发现有这样一篇文章:
http://www.cnblogs.com/cuizhf/archive/2011/09/25/2189942.html
这是转载的,里面说明netbean项目有一个NBI的项目,可以实现将产品生成exe或者sh,实现双击运行安装。目前我还不是很熟悉这个NBI,不知道是不是有简单一些的方法用于将指定JAR生成exe并绑定JRE,如果有,如果您知道,麻烦请赐教。下面说一下我的方式。
一、生成jre.exe,方式就根据上面那个连接中描述的。只是unzipsfx.exe的获取我是费了劲,它上面说源代码里有,但没有说哪个包,其实还有一个地方有。
http://wiki.netbeans.org/NBIExamples
下载这个示例。
比如你解压到example的目录下,那它们就在example\nbi\infra\build\jvm\tools\unzipsfx
中。生成jre.exe后。
跳过其它的说明,直接使用NBI的JAVA代码来生成exe或者sh。但先用ant构建这个示例,然后,找engine.jar或者nbi-engine.jar,两者一样只是目录不同。
我们将使用这个jar来生成上exe。其实就是使用SystemUtils.createLauncher()这个方法。传入对应的配置信息,如果不了解那些数据对象如果构建,可以在代码中打印一些对象信息,并将
RegistriesManagerImpl中的
FileUtils.deleteFile(tempStatefile);
FileUtils.deleteFile(tempPropertiesFile);
FileUtils.deleteFile(tempUserDir, true);
这三行注释掉,因为在
\build\output\registry-temp\temp\nbi-3162158525163754541.tmp\nbi-6538473934668573607.tmp\log
有日志信息。不注释掉会被删除。当然上面这目录有nbi-xxx这个是随机生成的目录。
然后执行上面一步的build。就可以查看log中你写的打印对象信息的日志了。
使用一个main方法调用SystemUtils.createLauncher(),传入指定的对象,工程依赖engine.jar,就可以创建出想要的exe了。
注意,由于这个示例似乎不是一个独立的工程,我是把里面所有的src纳入到一个JAVA工程中,便于跟踪查找。
分享到:
相关推荐
"使用 Visual Studio 2010 将 ActiveX 制作 msi 安装包" Visual Studio 2010 是一个功能强大且流行的集成开发环境(IDE),它提供了许多功能来帮助开发者创建各种类型的应用程序。其中之一便是使用 Visual Studio ...
"vc制作的安装包程序"指的是使用Visual C++(简称VC)或者更可能是Visual Studio中的相关工具来构建的安装程序。Visual C++是Microsoft提供的一款强大的集成开发环境,它不仅支持C++语言,还包含了创建Windows应用...
天擎6离线安装包制作 天擎6离线安装包制作是一个重要的IT技术,涉及到安装包的制作和部署。下面是关于天擎6离线安装包制作的知识点: 1. 登录天擎控制台:天擎控制台是天擎系统的核心组件,负责管理和监控整个系统...
本篇将深入探讨如何利用Inno Setup来制作安装包,并通过安装脚本调用动态链接库(DLL)以实现特定功能。 一、Inno Setup基础 Inno Setup是一个开源的安装包制作工具,它支持创建自解压可执行文件、传统安装程序和...
在IT行业中,制作安装包是软件开发流程中的一个重要环节,它能让用户方便地下载和安装应用程序。本练习主要关注如何创建一个安装包,这通常涉及到以下几个关键知识点: 1. **安装包格式**:常见的安装包格式有.exe...
【制作 CAB 安装包详解】 CAB 安装包是一种常见的 Windows 平台下的软件部署格式,主要用于存储和分发应用程序、驱动程序等组件。本文将详细介绍如何制作 CAB 安装包,以及相关的关键字段及其意义。 1. **所需文件...
【winrar制作个性安装包】是一种利用WinRAR的自解压功能来创建具有特定功能的安装程序的方法。这种技术使得用户可以根据自己的需求定制安装过程,包括添加卸载功能、个性化安装提示等。以下是对这个主题的详细解释:...
小兵安装包制作工具 付注册机 安装包制作工具
在制作安装包时,Inno Setup 是一个常用的选择,尤其是在制作中文安装包时。但是,在非中文系统上,Inno Setup 制作的中文安装包常常会出现乱码的问题。这篇文章将讲解如何解决这个问题。 首先,我们需要下载支持 ...
制作WINFORM安装包(插图版).pdf
NSetup 软件制作安装包详解 在软件发布中,安装包的制作是非常重要的一步。好的安装包不仅能够提高用户体验,还能够提高软件的整体形象。今天我们将学习如何使用 NSetup 软件制作美化的安装包。 NSetup 是一款功能...
《使用Inno Setup Compiler制作EXE安装包的全方位指南》 在软件开发过程中,将程序打包成易于分发和安装的EXE安装包是至关重要的一步。Inno Setup Compiler,作为一个免费且功能强大的安装程序制作工具,为开发者...
"hofo安装包制作工具"是一款专为Windows平台设计的简易安装包制作软件,它使得不熟悉编程或软件打包流程的用户也能轻松地创建自己的安装程序。这款工具简化了传统安装包制作过程中的复杂步骤,让用户只需将需要打包...
本教程将详细介绍如何利用7-Zip来制作软件安装包,帮助你理解和掌握这一技能。 首先,了解7-Zip的基础知识是必要的。7-Zip是一款免费的文件压缩和解压缩软件,支持多种压缩格式,如7z、ZIP、GZIP、BZIP2等。其特点...
在IT行业中,制作安装包是软件开发流程中的一个重要环节,它使得用户能够便捷地下载、安装和使用软件。"我的打包工具制作安装包"这个工具显然就是为了满足这一需求而设计的。下面,我们将深入探讨安装包的相关知识...
VS2010 制作安装包详解 VS2010 是微软公司推出的集成开发环境(IDE),它提供了丰富的功能和工具来帮助开发者快速地创建、调试和发布软件应用程序。本文将详细介绍如何使用 VS2010 制作程序安装包,包括新建项目、...
小兵安装包制作工具 简易的中文界面 随时随地制作你C#项目的安装包 适合初级者使用
### Installshield制作安装包详解 #### 一、Installshield简介 InstallShield软件公司是一家专注于安装软件开发工具的专业软件公司,成立于1987年,由Viresh Bhatia和Rick Harold共同创立。自Windows操作系统发展...
exe文件封装软件是开发者常用的一款站长工具,推荐使用三思安装包制作工具 三思安装包制作工具是一款程序压制工具,可以将任何程序封装为EXE,有了它你就可以把自己的一些比较零散的安装程度打个包,这样不仅便于...