zoukankan      html  css  js  c++  java
  • 制作Java桌面程序的一键安装包

    一、简介

    这个打包程序主要包含了对Java程序的普通打包、对程序的管理员权限设置。因为自己打包的时候要求程序在32位操作系统和64位操作系统下都能使用,所以有些打包步骤和设置都不相同。打包过程中主要使用到的软件有exe4j、Inno Setup;修改用户权限时使用到了eXeScope.exe和ResHacker.exe。

    二、具体打包步骤

    1.准备好要打包的完整程序。在这个程序中包含着JRE,打包后的程序用户轻松点击就能运行。

     

    2.使用exe4j制作一个exe执行文件,并指定自带的JRE。以下为exe4j启动界面,点击下一步开始创建配置文件。

     

    3.选择类型,在这里选择第一个,保证程序仍具有跨平台特性。如果选择第二个,可以把程序完全编译成exe文件,可以更好地保护程序不被反编译。 

    4.设置程序的短文件名、源文件夹路径(比如我的文件夹放在桌面路径为C:\Users\Administrator\Desktop\MyExample),以及生成的exe文件存放的目录,exe存放目录必须指定到源文件夹下。

     

    5.为生成的exe文件命名,也可以给它指定一个ico类型的图标。其他设置如图。

     

    6.把程序中所用到的类路径添加上去,然后指定程序的启动类,其他如果没有必要,可不填。

     

      基本上程序使用到的Jar文件都要添加,可逐个添加,也可以添加整个文件夹或者使用系统环境变量,为了让程序在其他地方也能完美运行,建议使用相对路径,并且不要使用环境变量。添加好类路径后一定要选择”Main Class”,否则打包后的程序也是不能执行的。

     

    7.把自带的JRE包含到程序中,先设置我们程序需要的JRE版本。

     

    8.移除默认选项,添加自带的JRE。

     

    9.接下来直接点击下一步即可,直到最后一步完成,可在目录下找到生成的exe文件。

     

     

    三、使用Inno Setup进行压缩并制作一个安装包

    1.选择新建一个脚本。

     

    2.填写应用程序名、版本号、程序发布者以及应用程序网站。

     

    3.点击下一步。

     

    4.指定程序的启动文件,即刚刚用exe4j创建的exe文件,并将整个程序目录都包含进去。

     

    5.接下来的几步都可以直接选择下一步。完成后,运行这个脚本。

     

    6.等待编译

     

    7.编译完成后在默认输出目录里可以找到生成的安装包。

     

    8.双击安装包,根据提示就可以完成安装过程。最终我安装好的程序如图。

     

    四、给用户添加管理员权限。

    对于有些程序来说,需要管理员权限才能正常运行。虽然用户在使用时可以选择“以管理员身份运行”,但是这样会影响用户体验。在这里介绍一下在打包的过程中添加管理员权限的方法。

    使用Inno Setup生成脚本后,在[Setup]节点添加PrivilegesRequired=admin。然后编译脚本,这一次生成的exe文件,在安装后能够直接以管理员权限正常运行。

    依靠以上的方法我的程序在32位操作系统下能够正常运行,但是在64位操作系统下不能够正常运行。因为我打包的时候JRE是32位下的,在exe4j下打包时也需要选择打包的程序是32位还是64位。

    五、打包64位操作系统下使用的程序

    前面的步骤与二中的具体打包步骤相似,为程序命名的步骤起有所区别。记住要准备在64位操作系统下使用的JRE包含在文件夹中。

    1.为了与32位打包过程有所区别,在命名后都添加了标志。填好相关内容后选择“Advanced Options”中的”32-bit or 64-bit”。

     

    2.勾选当前选项,如果不勾选的话还是生成的32位程序。

     

    3.设置权限,选择第三个即为管理员权限。

     

    4.接下来的步骤和打包32位程序相同。直到生成exe文件。注意添加JRE时一定要添加64位的。

    5.使用Inno Setup生成安装包时,修改管理员权限除去上述步骤还应该添加一些步骤如下。

    [1]       找到Inno Setup的安装路径,如C:\Program Files\Inno Setup 5,找到SetupLdr.e32文件。

    [2]       下载使用ResHacker.exe可以对这个文件进行修改。修改后注意保存。

     

    6.生成的64位程序安装步骤与32位程序安装步骤一样,在64位下能完美运行。

    64位下打包赋予了 管理员权限后图标变成了如下图,而在32位系统下图标并没有什么变化,只能在使用过程中感受到不同。

     

    六、致谢

    在完成打包过程中,读了很多相关文章,感谢作者提供的帮助。

    附文章地址:

    http://www.blogjava.net/huliqing/archive/2008/04/18/193907.html

    http://www.cnblogs.com/walker-lc/articles/3470679.html

    http://www.cnblogs.com/SnailProgramer/p/4243666.html

    http://blog.csdn.net/inputuconfirmcode/article/details/39485815

  • 相关阅读:
    A Summaryof JDBC
    Chinese Messy Code of String
    Use Spring @Scheduled To Achieve Timing Task
    关于拦截器实现日志存储到db的代码调试
    Java Web指导方向
    错误The request sent by the client was syntactically incorrect ()的解决
    jdbc实现简单的增删改查
    连接oracle jdbc
    关键路径求解算法
    <form> 标签的entype属性
  • 原文地址:https://www.cnblogs.com/gleaners/p/5614407.html
Copyright © 2011-2022 走看看