打包jar,jdk8,,mysql8,nginx成exe可安装应用,进行一键安装windows系统上

news2025/2/25 12:39:09

参考原文:Inno Setup打包 mysql+jdk+jar成exe文件,进行一键安装_恭维不起的博客-CSDN博客

百度网盘链接包含jdk8,mysql8,nginx,jar

百度网盘链接:https://pan.baidu.com/s/1hKIJb9TBJGuhhZAlRURmMw?pwd=7777
提取码:7777

battoexe_27027.zip和 innosetup-6.1.2.exe安装文件链接

链接:https://pan.baidu.com/s/1686lsYBLiO6S9XoiKoJOIA?pwd=7777
提取码:7777

补充:

一:mysql配置调整(因为可能mysql启动不起来)

配置文件目录:

my.ini文件

[client]
port=3308
[mysql]
default-character-set=utf8
[mysqld]
port=3308
character-set-server=utf8
default-storage-engine=INNODB
max_connections=100
table_open_cache=256
tmp_table_size=35M
thread_cache_size=8
myisam_max_sort_file_size=100G
myisam_sort_buffer_size=69M
key_buffer_size=50M
read_buffer_size=64K
read_rnd_buffer_size=256K
sort_buffer_size=256K
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=1M
innodb_buffer_pool_size=96M
innodb_log_file_size=20M
innodb_thread_concurrency=18

myini.bat文件

echo
set CURRENT_DIR=%CD%
set CURRENT_DIR=%CURRENT_DIR:\=/%
echo basedir="%CURRENT_DIR%/">>my.ini
echo datadir="%CURRENT_DIR%/data/">>my.ini

启动停止mysql脚本目录:

mysql_init.bat 执行了两个sql.并且加入开机自启动任务

cd /d %~dp0 

"%cd%\mysqld.exe" --initialize-insecure --user=mysql --console
echo -----mysql init succee-----

mysqld install mysql 
echo -----mysql service install succee-----

net start mysql
sc config mysql start=auto 
net stop mysql
net start mysql
echo Installation complete 

"%cd%\mysqladmin" -u root password 123456
echo Password change completed 
cd .. 

"%cd%\bin\mysql.exe" -uroot -p123456 < "%cd%\sql\create.sql" 

"%cd%\bin\mysql.exe" -uroot -p123456 < "%cd%\sql\green_finance_data_service.sql" 
echo Table creation completed 
echo Create new user completed
timeout /nobreak /t 10
exit

 mysql_stop.bat 停止删除任务命令:

@echo off
cd /d %~dp0
echo ----1.[Mysql] start uninstalling Mysql ---->>../log.txt
sc stop mysql
sc delete mysql
echo ----2. [Mysql] uninstall finished---- >>../log.txt
exit

二:Nginx相关

 nginx_init.bat启动脚本(后续打包启动有调整):

@echo off
cd /d %~dp0

echo ----1.start installing Nginx ---->>../log.txt

start nginx -c conf/nginx.conf

nginx_stop.bat 停止脚本:

@echo off
cd /d %~dp0

echo ----1.stop installing Nginx ---->>../log.txt

nginx.exe -s quit

echo ----1.kill Nginx ---->>../log.txt

taskkill /f /im nginx.exe > null

green_finance_data_service目录说明(前后端分离项目,前端vue打包的静态文件目录)

 nginx.conf目录:

 三:project项目目录:

 start.bat启动脚本:该脚本经过Bat_To_Exe_Converter_(x64).exe转化后的内容

::[Bat To Exe Converter]
::
::YAwzoRdxOk+EWAnk
::fBw5plQjdG8=
::YAwzuBVtJxjWCl3EqQJgSA==
::ZR4luwNxJguZRRnk
::Yhs/ulQjdF+5
::cxAkpRVqdFKZSDk=
::cBs/ulQjdF+5
::ZR41oxFsdFKZSDk=
::eBoioBt6dFKZSDk=
::cRo6pxp7LAbNWATEpCI=
::egkzugNsPRvcWATEpCI=
::dAsiuh18IRvcCxnZtBJQ
::cRYluBh/LU+EWAnk
::YxY4rhs+aU+JeA==
::cxY6rQJ7JhzQF1fEqQJQ
::ZQ05rAF9IBncCkqN+0xwdVs0
::ZQ05rAF9IAHYFVzEqQJQ
::eg0/rx1wNQPfEVWB+kM9LVsJDGQ=
::fBEirQZwNQPfEVWB+kM9LVsJDGQ=
::cRolqwZ3JBvQF1fEqQJQ
::dhA7uBVwLU+EWDk=
::YQ03rBFzNR3SWATElA==
::dhAmsQZ3MwfNWATElA==
::ZQ0/vhVqMQ3MEVWAtB9wSA==
::Zg8zqx1/OA3MEVWAtB9wSA==
::dhA7pRFwIByZRRnk
::Zh4grVQjdCuDJFyc8X4gOhReSQeWAHiuB6cIpu3j6oo=
::YB416Ek+ZG8=
::
::
::978f952a14a936cc963da21a135fa983
start nginx_init.bat & start .\jdk1.8.0_121\bin\javaw -jar finance_jh-0.0.1-SNAPSHOT.jar & start .\jdk1.8.0_121\bin\javaw -jar finance_data-0.0.1-SNAPSHOT.jar & start .\jdk1.8.0_121\bin\javaw -javaagent:8996-encrypted.jar  -jar 8996-encrypted.jar > test.out 2>&1 & 

Bat_To_Exe_Converter_(x64).exe转换程序

Bat_To_Exe_Converter_(x64).exe转换前start.bat内容。转换后是start.exe文件该文件是生产DataView.exe可安装文件时生成的桌面快捷方式调用的启动jar和nginx的使用。其中:start nginx_init.bat是启动nginx的脚本放在这里的原因是防止每次重启电脑nginx服务不能使用;后面:start .\jdk1.8.0_121\bin\javaw -jar finance_jh-0.0.1-SNAPSHOT.jar 该脚本相当于linux nohup命令,可后台运行jar程序。

 

 stop_port.bat(卸载时调用的脚本):第一行是获取管理员执行权限,然后for...命令是杀掉使用该端口的进程。

%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit

@echo off & setlocal EnableDelayedExpansion

for /f "tokens=5" %%b in ('netstat /ano ^| findstr 8210') do taskkill /F /pid %%b

for /f "tokens=5" %%c in ('netstat /ano ^| findstr 8996') do taskkill /F /pid %%c

for /f "tokens=5" %%f in ('netstat /ano ^| findstr 8212') do taskkill /F /pid %%f

四:介绍打包可安装文件相关

 green-finance-jh目录:是jar程序需要的一个路径存放上传的各种文件以及历史文件

 file_init.bat脚本:从当前目录将所有的文件及子文件和目录复制到目标目录GenFolder下

@echo off
echo OutReport目录判断
SET SourceFolder="%cd%"
SET GenFolder=C:\green-finance-jh
 
Xcopy %SourceFolder% %GenFolder%  /s/e/h/i

file_stop.bat脚本(卸载使用):对应上面复制脚本,该脚本是删除folder下的所有文件

@echo off&cd /d "%~dp0"
set #=Any questions&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
set "folder=C:\green-finance-jh"
if not exist "%folder%" (echo;"%folder%" path error or not exist&pause&exit)
if "%folder:~-1%" equ "\" set "folder=%folder:~,-1%"
 
rem 方法一
rd /s /q "%folder%\"
md "%folder%\" 2>nul

 
echo;%#% +%$%%$%/%_% %z%
rd /q /s C:\green-finance-jh\
pause
exit

init_port.bat脚本:第一行获取管理权限,以下是看你所需要的端口是否被占用并且杀掉占用端口的进程。

%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit

@echo off & setlocal EnableDelayedExpansion

for /f "tokens=5" %%a in ('netstat /ano ^| findstr 3308') do taskkill /F /pid %%a

for /f "tokens=5" %%b in ('netstat /ano ^| findstr 8210') do taskkill /F /pid %%b

for /f "tokens=5" %%c in ('netstat /ano ^| findstr 8996') do taskkill /F /pid %%c

for /f "tokens=5" %%d in ('netstat /ano ^| findstr 8211') do taskkill /F /pid %%d

for /f "tokens=5" %%e in ('netstat /ano ^| findstr 8063') do taskkill /F /pid %%e

for /f "tokens=5" %%f in ('netstat /ano ^| findstr 8212') do taskkill /F /pid %%f

inno.iss打包程序文件:重要(文件内容可自行研究一下)

; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
 
[Setup]
 
#define MyAppName "DataView"
#define MyAppVersion "1.0"
#define MyAppPublisher "海南省绿色发展投资有限公司"
#define MyAppURL "http://localhost:8211"
#define MyAppExeName "DataView.exe"
 
[Setup]
; (生成新的GUID,点凿工具|在IDE中生成GUID〿
AppId={{eccb021e-f776-459c-8cdb-81dd569f41d0}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
OutputDir=D:\exeFinish
OutputBaseFilename=DataView
Compression=lzma
SolidCompression=yes
;AlwaysRestart=yes
;PrivilegesRequired=admin
 
[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:\exe\project\*"; DestDir: "{app}\project"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "D:\exe\nginx-1.22.1\*"; DestDir: "{app}\nginx-1.22.1"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "D:\exe\mysql-8.0.33-winx64\*"; DestDir: "{app}\mysql-8.0.33-winx64"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "D:\exe\green-finance-jh\*"; DestDir: "{app}\green-finance-jh"; Flags: ignoreversion recursesubdirs createallsubdirs
; 注意: 不要在任何共享系统文件上使用“Flags: ignoreversion‿
 
[Icons]
Name: "{commondesktop}\绿色金融服务系统";Filename: "{app}\project\start.exe"; WorkingDir: "{app}\project"
 
[INI]
;修改数据库配置文仿
;Filename:"{app}\mysql-8.0.33-winx64\my.ini";Section:"mysqld";Key:"basedir"; String:"{app}\mysql-8.0.33-winx64"
 
;Filename:"{app}\mysql-8.0.33-winx64\my.ini";Section:"mysqld";Key:"datadir"; String:"{app}\mysql-8.0.33-winx64\data"
 
;Filename:"{app}\mysql-8.0.33-winx64\my.ini";Section:"mysqld";Key:"port"; String:"3308"
 
;Filename:"{app}\mysql-8.0.33-winx64\my.ini";Section:"client";Key:"port"; String:"3308"
 
[Run]                             

Filename: "{app}\green-finance-jh\file_stop.bat";

Filename: "{app}\green-finance-jh\file_init.bat";

Filename: "{app}\init_port.bat";

Filename: "{app}\mysql-8.0.33-winx64\bin\mysql_stop.bat";

Filename: "{app}\mysql-8.0.33-winx64\myini.bat";

Filename: "{app}\mysql-8.0.33-winx64\bin\mysql_init.bat";
 
[UninstallRun]
Filename: "{app}\project\stop_port.bat";

Filename: "{app}\mysql-8.0.33-winx64\bin\mysql_stop.bat";

Filename: "{app}\nginx-1.22.1\nginx_stop.bat";

Filename: "{app}\green-finance-jh\file_stop.bat";
 
[UninstallDelete]
 
Type:filesandordirs;Name:"{app}"

使用安装后的innosetup-6.1.2.exe打开inno.iss文件然后执行红框进行生成DataView.exe可安装程序。

最后提醒:生成的一键安装程序不要安装在c盘,切记切记切记。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

沐歌保健院线上预约按摩系统的设计与实现(论文+源码)_kaic

目 录 摘 要 第一章 绪论 1.1项目研究的背景 1.2开发意义 1.3项目研究现状及内容 1.4论文结构 第二章 开发技术介绍 2.1JSP技术 2.2Eclipse环境配置 2.3MySQL环境配置 第三章 系统分析 3.1系统可行性分析 3.1.1经济可行性 3.1.2技术可行性 3.1.3运行可行性 3.1.4操作可行…

Vivado下有限状态机的实现

文章目录 1011状态机的实现四状态下的移位操作 处理相对复杂的逻辑时就会用到有限状态机&#xff0c;设定好不同的状态&#xff0c;根据触发条件跳转到相应的状态&#xff0c;然后在不同的状态下做相应的处理。有限状态机主要用到 always 语句和 case 语句。 1011状态机的实现 …

【C#项目实战】Winform音频播放器的制作

Hello大家好,我是雷工! 本篇记录Winform音频播放器的制作过程。 一、开发运行环境 1、系统开发平台:Visual Studio 2022。 2、系统开发语言:C#。 二、功能说明及效果演示 1、该音频播放器可以通过音频列表,显示可播放的音频名称,通过列表框下的添加、删除按钮可以向列…

简单、漂亮、容易上手的开源 SAAS 多租户快速开发平台,已开源

简介 开源里面UI较好、较容易上手的、中台 、SAAS 、 多租户功能、最最少的代码实现功能的快速开发平台。 特点 链路追踪&#xff1a; 支持 skywalking、zikpin、pinpoint 等多种链路追踪&#xff08;案例采用 skywalking&#xff09; 布局优雅&#xff1a; 简洁、多套主题以…

40从零开始学Java之方法重写和方法重载到底有哪些区别?

作者&#xff1a;孙玉昌&#xff0c;昵称【一一哥】&#xff0c;另外【壹壹哥】也是我哦 千锋教育高级教研员、CSDN博客专家、万粉博主、阿里云专家博主、掘金优质作者 前言 在前面的两篇文章中&#xff0c;壹哥给大家讲解了面向对象中的封装和继承&#xff0c;现在还有一个多…

物联网开发愈加深化,如何保障应用安全?

在如今的iot物联网定制市场&#xff0c;许多产品都在“物物互联”&#xff0c;通过远程通信和连接设备来提供数据采集和处理能力。智能设备与智能家居、智慧城市等领域的结合也越发紧密。而对于企业而言&#xff0c;应用物联网设备时&#xff0c;也需要注意其中的安全问题。那么…

苹果WWDC 2023发布会总结

今年的全球开发者大会没有让人失望。在今天的主题演讲中&#xff0c;苹果首次展示了备受期待的混合现实耳机&#xff0c;证实了过去几个月出现的许多谣言。 虽然这次苹果的 Vision Pro耳机成为了焦点&#xff0c;但该公司还发布了一些其他令人兴奋的硬件和软件相关公告。这是活…

Java 泛型机制详解

tip&#xff1a;作为程序员一定学习编程之道&#xff0c;一定要对代码的编写有追求&#xff0c;不能实现就完事了。我们应该让自己写的代码更加优雅&#xff0c;即使这会费时费力。 推荐&#xff1a;体系化学习Java&#xff08;Java面试专题&#xff09; 文章目录 一、Java 中…

python中对excel工作表的基础操作:xlrd、xlwt模块笔记

模块介绍 &#xff08;1&#xff09;什么是xlrd模块&#xff1f; python操作excel主要用到xlrd和xlwt这两个库&#xff0c;即xlrd是读excel&#xff0c;xlwt是写excel的库。 &#xff08;2&#xff09;为什么使用xlrd模块&#xff1f; 在UI自动化或者接口自动化中数据维护是一…

突然断电没保存的文档如何找回?给你支几招!

概述&#xff1a;突然断电没保存的文档如何找回&#xff1f;我们在办公中经常会用到Word/PPT/EXCEL等文档&#xff0c;要是正在编辑时&#xff0c;电脑突然断电了&#xff0c;而文档还来得及保存怎么办&#xff1f;不要着急&#xff0c;下面教你找回未保存的文档。 一、突然断…

nodered-环境搭建及使用

nodered-环境搭建及使用 一、准备工作 - 安装node.js二、 nodered安装2.1 windows10环境下安装2.2 linux环境下安装 三、 nodered使用3.1 面板操作3.2 公共节点的使用3.3 上下文、全局变量 四、node缓存清理五、后台运行六、 nodered卸载 IBM发行了一套开源可视化界面开发工具&…

Hive学习---6、文件格式和压缩

1、文件格式和压缩 1.1 Hadoop压缩概述 由于Hive是相当于与Hadoop的客户端&#xff0c;所以hadoop会啥压缩&#xff0c;Hive基本就会啥压缩。 压缩格式算法文件扩展名是否可切分DEFLATEDEFLATE.deflate否GzipDEFLATE.gz否bzip2bzip2.bz2是LZOLZO.lzo是SnappySnappy.snappy否…

页面置换算法(LRU,CLOCK,LFU)

在操作系统的数据库中&#xff0c;使用驱逐算法来实现内存和磁盘之间的交互。当内存空间已满且需要将磁盘上的页面添加到内存中时&#xff0c;就需要将内存中的一个页面换出&#xff0c;以保证内存空间不会溢出。我们希望尽可能多地访问内存中的页面。 LRU算法 LRU算法&#…

0基础学习VR全景平台篇第38章:场景功能-AI虚拟人实操完整教程

AI虚拟人功能正式上线&#xff01; 依托“虚拟数字人引擎”结合VR全景&#xff0c;为各行各业提供虚拟形象生成、驱动、交互服务&#xff0c;帮助海量用户的VR全景作品&#xff0c;打造成为更具沉浸感的VR交互项目&#xff0c;提升作品变现能力。 功能位置示意 一、什么是AI虚…

会声会影视频乱码什么原因 会声会影视频乱码怎么处理

会声会影编辑视频的过程中&#xff0c;如果遇到素材乱码的问题&#xff0c;是会让人十分崩溃的。毕竟素材来之不易&#xff0c;无论是重新下载还是重新录制素材&#xff0c;操作起来都是相当困难的。那么&#xff0c;会声会影视频乱码什么原因&#xff0c;会声会影视频乱码怎么…

C++设计模式之原型模式(Prototype)

[C]22种设计模式的C实现大纲 文章目录 定义别名前言1. 问题2. 解决方案 结构1. 基本实现2. 原型注册表实现 适用场景实现方式优点缺点与其他模式的关系实例 定义 原型是一种创建型设计模式&#xff0c;使你能够复制已有对象&#xff0c;而又无需使代码依赖它们所属的类。 别…

利用fabric绘画矩形和多边形

需求在一张图片上标注矩形和多边形&#xff0c;支持回显&#xff1b; fabric版本&#xff1a;4.6.0&#xff1b; Fabric.js 是一个功能强大且操作简单的 Javascript HTML5 canvas 工具库。 官方文档 参考链接 组件代码drawer.vue createUuid 是为了让每一个图形有自己的id&…

【 Python 全栈开发 - 语法基础篇 - 20 】数据可视化

文章目录 一、数据可视化二、pandas1. 折线图2. 散点图3. 柱状图4. 饼图 三、matplotlib1. 折线图2. 散点图3. 柱状图4. 饼图 四、seaborn1. 安装和导入Seaborn2. 加载数据集3. 绘制散点图4. 绘制直方图5. 绘制核密度图6. 绘制条形图7. 绘制热力图 五、plotly安装plotly创建图表…

chatgpt赋能python:如何重新运行Python程序:完整指南

如何重新运行Python程序&#xff1a;完整指南 Python是最受欢迎的编程语言之一&#xff0c;因为其语法简单易懂&#xff0c;使得编写高效可读性代码更加轻松。但在编程过程中经常会出现需要重新运行程序的情况&#xff0c;本文将为您介绍如何重新运行Python程序。 重新运行Py…

chatgpt赋能python:Python如何降低memory的方法

Python如何降低memory的方法 Python已经成为了世界上最流行的编程语言之一&#xff0c;它在开发web应用、机器学习、数据分析等领域中拥有广泛的应用。然而&#xff0c;由于Python的内存管理机制&#xff0c;可能会导致程序的内存占用过高&#xff0c;影响系统的性能。在本文中…