Inno setup 打包jar包+前端dist+mysql+navicat等应用文件操作

目录

一、 使用exe4j将后端jar包打包成exe应用文件

 1.创建一个新的工程

2.选择一个你想要存放的路径

3.进入配置界面

4.选择jar转换exe模式

5.自定义名字和选择输出路径

6.配置初始化

7.配置java环境

8.测试运行结果

二、Inno 打包应用文件exe

1.新建一个工程文件

2.自定义应用信息

3.选择保存的exe文件

4.输出配置

三、编写自定义的配置脚本

第一步,点击”否“,选择不立即保存,进入自定义编辑脚本代码

第二步,添加Code部分函数程序代码,判断是否安装过某些引用


使用Inno Setup进行打包的原因有很多。首先,它是一个免费且功能强大的安装程序制作工具,提供了广泛的定制选项和易于使用的脚本语言。其次,它具有用户友好的界面和强大的压缩算法,可以生成小巧但高效的安装程序。此外,Inno Setup还具有良好的兼容性,可在各种Windows平台上稳定运行。

一、 使用exe4j将后端jar包打包成exe应用文件

 1.创建一个新的工程

2.选择一个你想要存放的路径

点击next,下一步

等待安装过程

安装完成,点击完成

3.进入配置界面

点击下一步

4.选择jar转换exe模式

点击下一步

5.自定义名字和选择输出路径

点击下一步

6.配置初始化

点击下一步

7.配置Java调用

点击添加按钮

添加你jar包得路径,点击ok;

如上,选择主程序;我这边使用springboot的,选择第一个即可;

7.配置java环境

直接在目录行写入:".\jre"即可,然后使用箭头按钮,将我们新建的这个目录往上挪动;

确保它是第一个;

然后下一步:

下一步:

下一步:

8.测试运行结果

运行结果如下:

最后点击保存即可;

我们就可以在桌面上看到一个我们生成好的exe应用文件了。如下:

二、Inno 打包应用文件exe

1.新建一个工程文件

点击ok;

2.自定义应用信息

点击下一步

3.选择保存的exe文件

这里这个Addfiles的添加其他文件的,最好添加一份桌面一样的exe文件进来即可;

点击下一步

这里不用更改,点击下一步;

这里安装许可证的配置的话,自己安装自己的需求看是否配置即可;

这里我选择默认的语言包(英语),自己可以自行添加中文简体语言包,官网就有!

4.输出配置

一直next下一步,直到完成!

三、编写自定义的配置脚本

第一步,点击”否“,选择不立即保存,进入自定义编辑脚本代码

第二步,添加Code部分函数程序代码,判断是否安装过某些引用

比如判断这台电脑上是否已经安装配好了java环境;

程序如下:

function IsJavaInstalled: Boolean;
var
  RegKey: string;
begin
  // Java 的注册表键路径
  RegKey := 'SOFTWARE\JavaSoft\Java Runtime Environment';

  // 检查注册表中是否存在 Java 环境的键
  Result := RegKeyExists(HKLM, RegKey) or RegKeyExists(HKCU, RegKey);
end;

我们就饿可以检查注册表中是否存在 Java 环境的键,这个方式来查询是否已经安装过了Java环境,

如果没有安装过的,那就进入到我的安装界面,即code的安装部分:

procedure CurStepChanged(CurStep: TSetupStep);
var
  AppInstallerPath: string;
  ResultCode: Integer;
begin
  if CurStep = ssPostInstall then
  begin

    // 第一步:检查是否已安装 Java 环境
    if not IsJavaInstalled then
    begin
      // 如果 Java 未安装,执行安装操作,例如下载并安装 Java 的安装程序
      AppInstallerPath := ExpandConstant('{app}\jdk-17_windows-x64_bin.msi');
      if FileExists(AppInstallerPath) then
        ShellExec('', AppInstallerPath, '', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode);
    end;

剩余的其他检测应用是否已经安装过的,都是一样的编辑写法即可,完整代码后续会添加到个人的文件当中!

配置完等待时间下载完成即可!

最后成品:

最后我的这个exe,将我打包的所有文件,其中包括前端,已经在nginx文件夹当中了,启动起来就可以了!

根据自己的安装路径安装即可,也可以将这个exe,文件给别人,别人安装! 

运行起来我安装完成的放在桌面的后台快捷键:

这样后台就可以了,然后启动前端界面即可完成!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/411812.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

前端取图片相同颜色作为遮罩或者背景

需求 遮罩层取图片相同/相似的颜色作为遮罩 效果 做法 npm库 grade.js 所提供图像中前 2 个主色生成的互补渐变https://github.com/benhowdle89/grade COLOR THIEF 只需使用Javascript即可从图像中获取调色板。 https://github.com/lokesh/color-thief https://lokeshd…

向导式堆栈管理器Dockge

经过申诉,目前博客的几个域名都恢复了,时间也延长到了 2033 年,后面还会不会出问题,老苏就不知道了 什么是 Dockge ? Dockge 是一款时髦的、易于使用的、响应式的、自托管的 docker-compose.yaml 向导式堆栈管理器,可…

python使用winio控制x86工控机的gpio

视频讲解 https://www.bilibili.com/video/BV1Nu4m1w7iv/?vd_source5ba34935b7845cd15c65ef62c64ba82f pywinio库 https://pypi.org/project/pywinio/ 安装库 pip install pywinio寄存器地址 测试代码 import pywinio winio get_winio() # 设置排针2输出1,0x40是bit6置…

SSMBUG之 url +

1. Failed to configure a DataSource: ‘url’ attribute is not specified and no embedded datasource could be configured. 经查, 书写一切正常. 注意到此时yml文件的图标是一个红色的Y而不是绿色的spring , 推测没有正确加载. 重新创建项目, 所有东西拷贝一份便恢复正常…

04|MySQL事务及ACID

1 事务 事务是一组操作要么全部成功,要么全部失败,目的是为了保证数据最终的一致性。 2 事务的ACID属性 2.1 原子性(Atomicity) 当前事务的操作要么同时成功,要么同时失败。原子性由 undo log日志来实现。 2.2 一致性(Consistent) 使用…

爬虫入门四(抽屉半自动点赞、xpath使用、动作链、打码平台、scrapy框架介绍与安装及创建项目)

文章目录 一、抽屉半自动点赞二、xpath的使用三、动作链四、打码平台介绍超级鹰打码基本测试 五、自动登录超级鹰六、scrapy框架介绍安装创建爬虫项目 一、抽屉半自动点赞 登录抽屉账号保存cookiesimport timeimport jsonfrom selenium import webdriverfrom selenium.webdrive…

javascript给对象添加迭代器

迭代器是啥就自行百度了 为啥for…of可以遍历数组,为啥不能遍历对象,就是for…of会调用迭代器,而数组是内置了迭代器了,而对象没有内置,所以直接使用for…of遍历对象会报错,因此只用在对象的原型上面自定义…

复旦EMBA徐能:攻克新能源+关键技术,十年如一日拓荒前行

乘着“双碳”战略的东风,我国新能源产业迎来了重大发展机遇。在低碳绿色发展日渐成为全球共识的背景下,新能源产业正在发生什么变化,未来的发展将呈现什么格局?本期《同学同行》让我们一起走进复旦大学EMBA 2022级2班同学徐能和他…

Linux服务器节点性能问题排查和优化思路

Linux服务器节点性能问题排查和优化思路 1. atop安装2. 整体思路2.1 如果现场存在/能复现2.2 如果现场不能复现: 3. 高负载问题排查与应对3.1. hung task 问题3.2. 底层硬盘/文件系统无法写入3.3. IO性能不足导致的运行缓慢3.4. CPU 性能不足导致的运行缓慢&#xf…

今天面了个字节拿 38K 出来的测试,让我见识到了基础的天花板

最近内卷严重,各种跳槽裁员,相信很多小伙伴也在准备金九银十的面试计划。 作为一个入职5年的老人家,目前工资比较乐观,但是我还是会选择跳槽,因为感觉在一个舒适圈待久了,人过得太过安逸,晋升涨…

wcf 简单实践 数据绑定 数据更新ui

1.概要 2.代码 2.1 xaml <Window x:Class"WpfApp3.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.microsoft.com/expr…

SpringIOC之support模块StaticMessageSource

博主介绍&#xff1a;✌全网粉丝5W&#xff0c;全栈开发工程师&#xff0c;从事多年软件开发&#xff0c;在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战&#xff0c;博主也曾写过优秀论文&#xff0c;查重率极低&#xff0c;在这方面有丰富的经验…

react useRef用法

1&#xff0c;保存变量永远不丢失 import React, { useState,useRef } from react export default function App() { const [count,setcount] useState(0) var mycount useRef(0)//保存变量永远不丢失--useRef用的是闭包原理 return( <div> <button onClick{()>…

消息中间件之RocketMQ源码分析(十七)

Broker CommitLog索引机制的数据结构 ConsumerQueue消费队列 主要用于消费拉取消息、更新消费位点等所用的索引。源代码参考org.apache.rocketmq.store.ConsumerQueue.该文件内保存了消息的物理位点、消息体大小、消息Tag的Hash值 物理位点:消息在CommitLog中的位点值消息体…

2024-02-26(Spark,kafka)

1.Spark SQL是Spark的一个模块&#xff0c;用于处理海量结构化数据 限定&#xff1a;结构化数据处理 RDD的数据开发中&#xff0c;结构化&#xff0c;非结构化&#xff0c;半结构化数据都能处理。 2.为什么要学习SparkSQL SparkSQL是非常成熟的海量结构化数据处理框架。 学…

matlab采用不同数值方法求解微分方程

1、内容简介 略 60-可以交流、咨询、答疑 欧拉方法、改进欧拉、RK4、米尔斯坦方法求解微分方程 2、内容说明 略 lc; close all; clear all; % 参数赋值 global a global b global h a 1; b 2; Ni 1000; % 总步数 h 0.001; % 步长Xt1(1:Ni) 0; Xt2(…

合泰杯开发板HT66F2390入门教程(点亮LED灯)——获得成就:点灯大师

前言 前不久报名了合泰杯竞赛项目&#xff0c;然后手上也是有一个HT66F2390的开发板&#xff0c;我就打算先从点灯开始&#xff0c;学习一个新的芯片第一步都是先成为点灯大师。 一开始&#xff0c;我在网上搜寻了许多的代码示例&#xff0c;希望能够顺利实现LED的控制。然而&…

敏捷开发——第一次作业:个人简历/登录界面

1. 新建文件夹&#xff0c;用VScode打开 2. 新建文件&#xff0c;后缀设为.html 3. 感叹号自动生成框架&#xff0c; alt b&#xff1a;在默认浏览器中打开&#xff0c;shift alt ↓&#xff1a;向下复制一行 <ul> <li>&#xff1a;无序列表和列表项 <ol>…

进程与线程之线程

首先exec函数族是进程中的常用函数&#xff0c;可以利用另外的进程空间执行不同的程序&#xff0c;在之前的fork创建子进程中会完全复制代码数据段等&#xff0c;而exec函数族则可以实现子进程实现不同的代码 int execl(const char *path, const char *arg, ... …

视频会议参会成员入会时无规律掉线解决方案:奇安信防火墙关闭ALG(反向代理)

【问题描述】 单位组织视频会议&#xff0c;出现很严重的问题是参会人员不能全部入会&#xff0c;多家单位依次都出现这种现象&#xff0c;无法入会的单位不固定。 【问题原因】 抓包查询到上级单位的奇安信防火墙出现了问题。 H323协议和SIP协议的视频流数据包经过防火墙以后…