jar包转exe,在没有Java环境的电脑上运行

文章目录

    • 1.打jar包,转exe,处理dll文件
    • 2.exe生产安装软件,其中包含jre文件夹
    • 3.处理图片资源
    • 4.遇到的问题:

1.打jar包,转exe,处理dll文件

https://blog.csdn.net/I_am_Yong_Ge/article/details/93203920
https://blog.csdn.net/I_am_Yong_Ge/article/details/93972968

2.exe生产安装软件,其中包含jre文件夹

https://blog.csdn.net/qq_34129814/article/details/72990914

3.处理图片资源

新建res根目录
jar包转exe,在没有Java环境的电脑上运行_第1张图片
把图片等资源放在里面 res/images/loading.gif
选中res文件夹,右击,选中
image
图片路径处理:

String loadingImgPath = "res/images/loading.gif";
ImageIcon icon = new ImageIcon(loadingImgPath);

以上处理结束,当打包完了jar包时,需要把res文件夹放在jar包同级目录,这样,图片可以正常显示
打包成exe软件,操作jre文件夹一致

4.遇到的问题:

1.安装exe软件后,打不开
发现jre文件夹内的内容和jar包在同一级目录,导致jar包找不到对应的文件
在使用Inno Setup的时候,把jre文件再包裹一层文件夹,然后安装正常流程打包,解决问题
如图
jar包转exe,在没有Java环境的电脑上运行_第2张图片
2.安装程序后没有对应的桌面快捷方式

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1

改成

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: checkablealone;

即可自动生产快捷键

3.重新安装时,先卸载,再安装

[Code]
function InitializeSetup(): boolean;
var
ResultStr: String;
ResultCode: Integer;
begin
if RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{XXXXXXXXXXXXXXXXX}_is1', 'UninstallString', ResultStr) then
begin
ResultStr := RemoveQuotes(ResultStr);
Exec(ResultStr, '/silent', '', SW_HIDE, ewWaitUntilTerminated, ResultCode);
end;
result := true;
end;

jar包转exe,在没有Java环境的电脑上运行_第3张图片
4. 卸载删除指定文件

[UninstallDelete]
Type: files; Name: "{app}\res\db\ExpensesManage.db"
Type: files; Name: "{app}\res\db\ExpensesManage.log"

你可能感兴趣的:(Intellij,IDEA,#,打包)