一.idea打包exe

idea只是把代码和资源(如照片,css,dll等)打成jar文件的,顺便说一句,idea可以设置编译时候用的jdk版本,然后jar里就是对应版本jdk编译出来的class,来打包的,而最后不管是通过第三方软件还是idea打包的exe应该都是一个压缩文件(launch4j/jsmoonth打包的exe都可以用7zip打开,exe4j的打不开,会报错),虽然idea也可以在jar的同级文件夹bundle里打出exe,但是这个exe无法运行,不知道这个和我用的idea是社区版有没有关系,或许正版的idea可以打出能运行的exe

二.idea+JSMoonth(或idea+launch4j或idea+exe4j)

1.idea打包jar文件

具体细节不写了,网上一搜一大堆(native bundle选择image会生成bundle文件夹,里面会有exe,不想生成natvie bundle就默认选择none就行了),

2.JSMoonth(或launch4j或exe4j)打包exe

(1)exe4j配置的介绍(版本号6.0.1)









(2)jsmoonth配置的介绍(版本0.9.9-7)




(3)launch4j配置的介绍(版本号是3.12)






1.打包:要注意的是jsmoonth依赖的所有通过maven,或者gradle导入的jar文件,都要和生成exe,jre,放在一个文件夹里,不然就会双击exe,没有反应,不报错也不反应那种(我被这个问题坑了三天,后来无意之中想明白了,jar,exe,图片,图标都要放一个文件夹)
2.收费:exe4j是收费软件,试用版的exe4j在弹出应用之前,会弹出一个exe4j的广告弹窗。
3.icon:exe4j,launch4j用的图片必须是icon格式,jsmoonth必须不是icon格式,否则报错,还有就是exe4j打成的exe运行时,状态栏是图标,其他的显示默认的空样式。
4,设置本地包含lib,dll文件夹,要注意,就是lib,dll文件即使已经打包到exe里去了,但是还是要在exe所在的文件夹里再次包含(dll,lib文件一定要和exe在同级文件夹下,否则本机可运行,其他电脑上不可以运行)才可以,不然运行时会报错,UnsatisfiedLinkError;
exe4j是在native library里设置,
jsmoonth在current directory里设置,
哈哈,launch4j没找到在哪里设置这个文件夹,很遗憾,
如下图片所示:


结论

exe4j打的exe文件大小为27.7m,JSMoonth打出来的exe为6.79m,但是exe依赖的jar不需要和exe在同级文件夹下,而luanch4j,jsmoonth打出来的exe所依赖的jar需要和exe在同级文件夹下,7zip可以打开后者的exe,可以看出来,里面没有jar,所以我猜想是exe4j打包的时候,把它依赖的jar压缩到exe里去了,而其余的两个打包工具就没有这么做,所以打完exe,移动它的位置,不移动它的依赖jar程序就会等待加载jar而处于无反应状态。
公司里一个测试的小兄弟快下班的时候,主动要求帮我测了一下编译jdk与对应jre的四种搭配的运行结果,测试的电脑有三台,分别是win 7 32位,win 7 64位,win 10 64位.

  1. 32位jdk编译的class配置+32jre,win10 64可以 win7 64可以 win7 32可以
  2. 64位dk编译的class+64位jre,win 7 32位上报错(jsmoonth报错是jvm.dll没有在指定的电脑上运行,launch4j报错是没有jdk
    1.8.0到1.9.0),在其余电脑(win 7 64,win 10 64)64位上都可以运行
  3. 32位dk编译的class+64位jre,win10 64可以 win7 64可以 win7 32报错 ,报错也是
    jvm.dll没有在指定的电脑上运行,64位+32位jre,
  4. 64位dk编译的class+32位jre,结果是win10 64可以 win7 64可以 win7 32可以

三 Inno Setup 打exe运行包成安装包(5.5.9版本,)

 下面是script文件,把上面生成的exe安装到windows中去,并附加卸载功能
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES![Setup]
AppName=windows应用
AppVerName=ccoclient 1.0
AppPublisher= csdn, Inc.
AppPublisherURL=http://www.csdn.com.cn
AppSupportURL=http://www.csdn.com.cn
AppUpdatesURL=http://www.csdn.com.cn
DefaultDirName={pf}\windows应用
DefaultGroupName=windows应用
UserInfoPage=true
; agreement.txt文件不能为空
LicenseFile=D:\release\agreement.txt
;安装图标
SetupIconFile=D:\release\icon.ico;备注版本信息
VersionInfoCompany=http://www.csdn.com.cn
VersionInfoDescription=windows应用
VersionInfoVersion=1.0.0.0
VersionInfoCopyright=Copyright (C) 2020-2029 csdn
[Languages]
Name: "chinesesimp"; MessagesFile: "compiler:Default.isl"
Name: "English"; MessagesFile: "compiler:Languages\English.isl"
[Tasks]
Name: "desktopicon"; Description: "Create a &desktop icon"; GroupDescription: "Additional icons:"[Files]
Source: "D:\release\*.*"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\release\jre32\*"; DestDir: "{app}\jre32"; Flags: ignoreversion recursesubdirs[Icons]
Name: "{group}\windows应用"; Filename: "{app}\ccoclient.exe"
Name: "{userdesktop}\windows应用"; Filename: "{app}\ccoclient.exe"; Tasks: desktopicon[Run]
Filename: "{app}\ccoclient.exe"; Description: "启动windows应用"; Flags: nowait postinstall skipifsilent[code]
procedure InitializeWizard();
beginWizardForm.LICENSEACCEPTEDRADIO.Checked:=true;
end;

inno setup 的[Files]标签头定义了两行source开头的命令*.*表示所有类型文件,*表示所有文件,后面的Flagsrecursesubdirs应该是当前文件夹下的所有文件或者文件夹(即递归全部的意思)

idea+exe4j/launch4j/jsmoonth的打包exe+Inno Setup相关推荐

  1. Windows EXE打包工具Inno Setup

    Inno Setup 是一个免费的 Windows 安装程序制作软件.第一次发表是在 1997 年,Inno Setup 今天在功能设置和稳定性上的竞争力可能已经超过一些商业的安装程序制作软件.Inn ...

  2. 常用的软件打包工具Inno Setup和AdvancedInstallerPortable

    文章目录 一.Inno Setup 打包工具 二.AdvancedInstallerPortable 打包工具 今天遇到一个问题一个朋友问我有没有什么好用的软件打包工具.我给他说我常用的两个打包软件I ...

  3. C#如何打包EXE程序生成setup安装文件

    C#如何打包EXE程序生成setup安装文件 作为研发人员,在本机上开发的winform wpf或者控制台程序需要发给其他人测试时候,一般需要对其进行打包生成setup安装文件,今天第一次,搜了下资料 ...

  4. windows打包软件-Inno Setup

    可执行程序需要打包之后发布. 在window上,可以使用Inno Setup进行打包.Inno Setup 是 Jordan Russell 和 Martijn Laan 为 Windows 程序提供 ...

  5. 重新打包版Inno Setup 5.4.3

    重新打包版ANSI Inno Setup 5.4.3(含简体中文语言文件)下载链接: http://files.cnblogs.com/d2012/isetup-5.4.3-a.exe.7z 重新打包 ...

  6. 打包工具 Inno Setup 介绍

    Inno Setup 详解中文资料 其一:使用教程 一.Inno Setup 是什么? InnoSetup 是一个免费的 Windows 安装程序制作软件.第一次发表是在 1997 年,Inno Se ...

  7. java程序打包exe

    一.idea打包exe 二.idea+JSMoonth(或idea+launch4j或idea+exe4j) 1.idea打包jar文件 具体细节不写了,网上一搜一大堆(native bundle选择 ...

  8. Flutter桌面开发 — Windows App打包以及使用Inno Setup生成.exe文件安装包

    文章目录 1 打包 Flutter Windows App 1.1 开发环境准备 1.2 支持Windows 1.3 构建Windows App 2 使用Inno Setup生成.exe文件安装包 2 ...

  9. 程序打包(安装包制作,Inno setup打包教程,QT程序打包)

    一.简介 本文主要讲述如何将QT程序打包成安装包,提供给其他人使用.(打包其他程序同理) 二.准备阶段: 2.1 下载并安装打包工具 Inno setup中文版 密码:id09 2.2 将QT程序DL ...

最新文章

  1. java学习笔记(七)----异常
  2. Cisco 2900 series添加VWIC2-1MFT-G703板卡
  3. Angular http client发起的请求在Chrome开发者工具network标签页里观察到的界面
  4. java使用序列化实现深克隆
  5. 本土开源、立足全球 | COSCon'17
  6. nodejs解析apk
  7. Tiny Core Linux 4.5 发布,微型 Linux 操作系统
  8. docker中使用git_如何在 Docker 中使用 Docker
  9. Mysql优化之索引优化
  10. DataGuard ORA-01111,ORA-01275文件创建失败问题解决
  11. python操作数据库之删除数据
  12. 浅析城市道路照明的安全及节电设备的应用
  13. php 转换带声调的字幕,PHP 汉字、拼音、unicode、声母、韵母互相转换
  14. 全球及中国回转窑扫描仪行业发展动态与前景趋势预测报告2022-2028年
  15. NTL库在Win上基于MinGW的安装
  16. 如何卸载Win10关键更新(右键不显示卸载)
  17. Python实现烟花效果,祝大家2021年,牛年大吉。
  18. 2023年JAVA JDK8的安装与配置(附JAVA8安装包)
  19. html 设置元素向左浮动
  20. 22届计算机考研复试技巧以及注意事项高频问答35问Python集锦【一定要记牢】

热门文章

  1. MySQL 事务默认隔离级别?能否解决幻读?
  2. 力扣765----情侣牵手(C++异或解法)
  3. 分布式系统 概念 高可用 高并发 学习笔记
  4. Visual Studio 卸载 Visual Assist番茄助手
  5. 计算机网络安全第一课
  6. 监控域名证书到期时间
  7. Python 获取当天日期、前一天日期、前半个月
  8. java namevaluepair_NameValuePair方式传参数
  9. 全球及中国城市轨道交通与设备行业布局规划策略及投资模式分析报告2021-2027年版
  10. UOS系统升级到1050后无法正常使用输入法功能问题解决方法