前言
准备安装包:
jar包:自己的程序;
exe4j:将jar打包可执行的exe;
Inno Setup 5:将exe和jre环境打包成按转包exe文件;
resource_hacker:设置文件具备管理员权限。
链接:https://pan.quark.cn/s/399c8f72631c
提取码:KHY6
准备工作:
jre + 需要打的jar包

运行exe4j 并设置注册码

以下任意一个都可以
L-g782dn2d-1f1yqxx1rv1sqd
A-XVK258563F-1p4lv7mg7sav
A-XVK209982F-1y0i3h4ywx2h1
A-XVK267351F-dpurrhnyarva
A-XVK204432F-1kkoilo1jy2h3r
A-XVK246130F-1l7msieqiwqnq
A-XVK249554F-pllh351kcke50然后点击下一步 next 选择 jar in exe mode

然后点击下一步

然后下一步



下一步

下一步 指定jar包


main cless 选择 org.springframework.boot.loader.JarLauncher

然后下一步 输入 jdk 版本 点击 search sequence

然后下一步 选择这些环境变量删除


然后配置 .\jre


这两个都可以选
然后一直下一步就好了

最终这个exe生成出来了

然后就是给jar包赋予管理员权限 这一步可以跳过
打开 ResourceHacker.exe

选择刚刚生成出来的exe文件

将 asInvoker 修改成 requireAdministrator


每次改完都会在相同位置生成一个original文件,这个相当于对之前未修改文件的一个备份,可以删掉,也可以留着。
然后继续打开 Inno Setup 5 给这个 赋予 管理员权限,打包封装的时候需要 ,找到Inno Setup 5 安装目录 然后直接搜索

将 asInvoker 修改成 requireAdministrator

然后保存 跟上一步一样 第一步 第二步
然后运行 Inno Setup 5

点击确定,填充代码
; 脚本由 Inno Setup 脚本向导 生成!
; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档!
#define MyAppName "ceshi"
#define MyAppVersion "0.0.1"
#define MyAppPublisher "公司名称"
#define MyAppURL "www.baidu.com"
#define MyAppExeName "ceshi.exe"
[Setup]
; 注: AppId的值为单独标识该应用程序。
; 不要为其他安装程序使用相同的AppId值。
; (生成新的GUID,点击 工具|在IDE中生成GUID。)
AppId={{4B3D5B77-2288-46C5-AA01-B60955B1AE65}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\simutool
DisableProgramGroupPage=yes
OutputDir=D:\Utils\exeWork\
OutputBaseFilename=cheshi
SetupIconFile=
Compression=lzma
SolidCompression=yes
[Languages]
Name: "chinesesimp"; MessagesFile: "compiler:Default.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1
[Files]
Source: "D:\Utils\exeWork\max\cheshi.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\Utils\exeWork\max\ceshi_original.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\Utils\exeWork\max\jre\*"; DestDir: "{app}\jre"; Flags: ignoreversion recursesubdirs createallsubdirs
; 注意: 不要在任何共享系统文件上使用“Flags: ignoreversion”
[Icons]
Name: "{commonprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
; 注: 下边这一行让安装的时候自动生成快捷方式
Name: "{userdesktop}\{#MyAppName}";Filename: "{app}\{#MyAppExeName}"; WorkingDir: "{app}"
[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
配置好了后 点击运行

等待打包就行。