用nsis打jar文件为exe可执行文件

使用到的工具下载地址:用nsis打jar文件为exe可执行文件的工具-Java文档类资源-CSDN下载

一、先把程序打成exe

1、准备好可执行带有man方法的jar文件;

例如:

打jar包的方法如下:

在项目上右键选择Export:

 然后展开Java项,选择Runable JAR File:

 然后选择主类,jar包的输出位置,依赖包的打包方式。最后点击Finish即可。

2、下载工具exe4j

解压压缩包:

安装

点击安装程序exe4j_windows-x64_5_0_1.exe进行安装。

破解

安装成功后启动exe4j,点击Change License按钮,然后运行压缩包中的Keymaker.exe生成秘钥。

 

粘贴秘钥到exe4j,点击OK即可。

打包jar为exe

Project type

选择JAR in EXE mode,然后点击next.

Application info

然后输入exe文件的简称,exe文件输出位置。然后next

Executable info
Executable type:中选择第一项GUI application,表示GUI程序,第二个选项表示控制台程序。
Executable name:中输入软件的名称(OCR)
Icon file:中选择图标的位置,图标需要实现下载好,图标不是必须的,没有也没关系。
然后展开Advanced options选择第一项Redirection

Redirection

然后勾选Redirect stderr,显示错误输出目录,然后点next,Service options 和Version info默认即可,所以点击next,next即可。

32-bit or 64-bit

然后选择Generate 64-bit executable,生成64位的exe程序。然后next,next

Java invocation

到了第5个配置项Java invocation这里要把刚才生成的可执行jar包添加进来。以及所有的依赖包,点击绿色的加号,添加可执行Jar包

导入所有的依赖包

然后在Main class:选择主类:

JRE

选择最小支持的版本,最大的版本可以默认不写。然后展开Advanced options,选择Search sequence

点击绿色的加号

然后,选择找到本地的jre:

然后把它移动到最顶端:

然后next,

然后默认,next

后面一直next即可。

运行生成的exe

打开输出目录双击运行exe文件即可运行

 二、在用nsis进行包装打包exe

下载nsis工具

nsis使用:

启动NSIS程序主界面,选择“可视化脚本编辑器(VNISEdit)”菜单,开始制作自己的安装包

 

选择“使用脚本向导创建新的脚本文件”,确定

进步脚本向导,下一步

第一步,这里填写应用程序的一些基本信息,下一步

第二步,这里是选择安装包的图标,生成的文件名,程序语言等,使用默认的就可以,不需要修改

 第三步,选择一些效果,安装程序不用搞这么花哨,直接下一步

 第四步,指定默认目录,授权文件有的话就指定,没有就空着,下一步

 第五步,选择要打包的文件,直接把要打包的目录内容全部添加进来,注意两处*.*,以及勾选“包含子目录”,不要勾选”单独添加每个文件“,编译的时候会把所有的文件打包进来的,下一步

第六步,快捷方式的一些设置,下一步

 第七步,设置安装程序之后要运行的内容,下一步

 第八步,卸载信息设置,下一步

 完成向导,勾选”保存脚本“,以及”转换文件路径到相对路径“,完成

这时就可以看到通过向导生成的脚本,可以在这里继续修改脚本

生成后的nsi文件 

 

 具体的nsi文件内容

; 该脚本使用 HM VNISEdit 脚本编辑器向导产生

; 安装程序初始定义常量
!define PRODUCT_NAME "huige"
!define PRODUCT_VERSION "1.0"
!define PRODUCT_PUBLISHER "huige"
!define PRODUCT_WEB_SITE "http://www.huige.com"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"

SetCompressor lzma

; ------ MUI 现代界面定义 (1.67 版本以上兼容) ------
!include "MUI.nsh"

; MUI 预定义常量
!define MUI_ABORTWARNING
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"

; 欢迎页面
!insertmacro MUI_PAGE_WELCOME
; 许可协议页面
!insertmacro MUI_PAGE_LICENSE "Lecense.txt"
; 安装目录选择页面
!insertmacro MUI_PAGE_DIRECTORY
; 安装过程页面
!insertmacro MUI_PAGE_INSTFILES
; 安装完成页面
!insertmacro MUI_PAGE_FINISH

; 安装卸载过程页面
!insertmacro MUI_UNPAGE_INSTFILES

; 安装界面包含的语言设置
!insertmacro MUI_LANGUAGE "SimpChinese"

; 安装预释放文件
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
; ------ MUI 现代界面定义结束 ------

Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "huige.exe"
InstallDir "$PROGRAMFILES\huige"
ShowInstDetails show
ShowUnInstDetails show

Section "MainSection" SEC01
  SetOutPath "$INSTDIR"
  SetOverwrite ifnewer
  File /r "*.*"
SectionEnd

Section -AdditionalIcons
  CreateDirectory "$SMPROGRAMS\huige"
  CreateShortCut "$SMPROGRAMS\huige\Uninstall.lnk" "$INSTDIR\uninst.exe"
SectionEnd

Section -Post
  WriteUninstaller "$INSTDIR\uninst.exe"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
SectionEnd

/******************************
 *  以下是安装程序的卸载部分  *
 ******************************/

Section Uninstall
  Delete "$INSTDIR\uninst.exe"

  Delete "$SMPROGRAMS\huige\Uninstall.lnk"

  RMDir "$SMPROGRAMS\huige"

  RMDir /r "$INSTDIR\imag"

  RMDir "$INSTDIR"

  DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
  SetAutoClose true
SectionEnd

#-- 根据 NSIS 脚本编辑规则,所有 Function 区段必须放置在 Section 区段之后编写,以避免安装程序出现未可预知的问题。--#

Function un.onInit
  MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "您确实要完全移除 $(^Name) ,及其所有的组件?" IDYES +2
  Abort
FunctionEnd

Function un.onUninstSuccess
  HideWindow
  MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) 已成功地从您的计算机移除。"
FunctionEnd

 最后生成的exe文件,双击huige.exe进行安装一路下一步即可。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值