Inno Setup打包 mysql+jdk+jar+nginx+redis成exe文件,进行一键安装

背景介绍
因客户要求将项目打包进行单机版部署,由于项目采用的是B/S架构并且是前后端分离的模式进行开发的,后端框架采用SpringBoot,数据库采用mysql,如果让用户方去实施部署比较困难,于是采用打包成exe的方式进行傻瓜式安装部署使用。

一、软件准备
1、下载并安装Inno steup
链接:https://pan.baidu.com/s/1ifGYY1te6vwEsMUNHyS46Q
提取码:7on1

2、mysql数据库免安装版
链接:https://pan.baidu.com/s/1q1WEEG5hMuE9ghlvyq_ygw
提取码:2a2b

3、jdk环境
链接:https://pan.baidu.com/s/1WIqig9LrODuXNGcNE4599w
提取码:onbp

4、项目打包生成的jar包

二、打包配置
先在本地创建一个文件夹,将解压好的mysql数据库复制到该文件夹中

mysql配置
1、mysql_init.bat

在mysql/bin目录中新建mysql_init.bat

@echo off
rem将工作路径切换到当前脚本所在目录
cd /d %~dp0
 
rem开始安装mysql
echo ----1.start installing Mysql ---->>../log.txt
"%cd%\mysqld.exe" --initialize-insecure --user=mysql --console 
cd ..
set "mysqlpath=%cd%">>../log.txt
cd bin
mysqld install mysql-job --defaults-file="%mysqlpath%\my.ini"
 
rem设置mysql开机自启
echo ----2. start Mysql service---- >>../log.txt
rem pause
net start mysql-job
sc config mysql-job  start= auto
net stop mysql-job 
net start mysql-job
 
rem设置mysql环境变量,并进行创建数据库初始化
echo ----3.setting Mysql environment ---->>../log.txt 
cd ..
"%cd%\bin\mysqladmin" -u root password root
"%cd%\bin\mysql.exe" -uroot -proot < "%cd%\sql\create.sql"
echo %Path%
echo %Path%|find /i "%mysqlpath%" && set IsNull=true || set IsNull=false
echo %IsNull%
if not %IsNull%==true (
wmic ENVIRONMENT create name="MYSQL_HOME",username="<system>",VariableValue="%mysqlpath%"
rem 追加path变量
wmic ENVIRONMENT where "name='PATH' and username='<system>'" set VariableValue="%path%;%%MYSQL_HOME%%\bin;"
echo ----4. Mysql environment create/append success---->>/log.txt 
)
exit

2、mysql_stop.bat

在mysql/bin目录中新建mysql_stop.bat

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

3、my.ini

在mysql目录中新建my.ini

[mysqld]
basedir ="C:\mysql-5.7.31-winx64"
datadir ="C:\mysql-5.7.31-winx64\data"
port=3306
server_id =10
character-set-server=gbk
character_set_filesystem=gbk
max_allowed_packet=41942040
[client]
port=3306
default-character-set=gbk
[mysqld_safe]
timezone="CST"
[mysql]
default-character-set=utf8

4、新建create.sql文件,用于初始化项目数据库

在mysql目录中新建目录sql,将create.sql文件放置其中

注:在create.sql头部需要补充创建数据库的语句,如

DROP DATABASE IF EXISTS `XXXXX`;
CREATE DATABASE XXXXX;
USE XXXXX;

项目配置

在新建的文件夹中(上面mysql所在的目录),新建一个project文件夹,将解压好的jdk以及项目jar包复制到project目录中

1、start.bat

在project目录中新建start.bat

.\jdk1.8.0_121\bin\java -jar test.jar
pause

注:test.jar名称修改为你项目的jar包

项目打包

先安装好Inno steup程序,在新建的文件夹中(上面mysql所在的目录),新建一个inno.iss文件

Nginx目录:前端打包文件放到html文件夹下:如下图

 

nginx.conf配置文件修改:

 

 

打开inno.iss文件,加入以下配置

[Setup]
 
; 脚本由 Inno Setup 脚本向导 生成!
; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档!
 
#define MyAppName "HSD"
#define MyAppVersion "1.0"
#define MyAppPublisher "XXXXX科技"
#define MyAppURL "https://www.heshengda.com/"
#define MyAppExeName "XXX.exe"
 
[Setup]
; 注: AppId的值为单独标识该应用程序。
; 不要为其他安装程序使用相同的AppId值。
; (生成新的GUID,点击 工具|在IDE中生成GUID。)
AppId={{6CEE70A6-5DBD-43FF-9449-466A574C65E1}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
OutputDir=C:\Users\xin\Desktop\project\output
OutputBaseFilename=HSD
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: "C:\Users\xin\Desktop\project\mysql-5.7.31-winx64\*"; DestDir: "{app}\mysql-5.7.31-winx64"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Users\xin\Desktop\project\project\*"; DestDir: "{app}\project"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Users\xin\Desktop\project\software\*"; DestDir: "{app}\software"; Flags: ignoreversion recursesubdirs createallsubdirs
; 注意: 不要在任何共享系统文件上使用“Flags: ignoreversion”
 
[Icons]
; Name: "{commondesktop}\project";Filename: "{app}\project\start.exe"; WorkingDir: "{app}\HSDServer"
 
[INI]
;修改数据库配置文件
Filename:"{app}\mysql-5.7.31-winx64\my.ini";Section:"mysqld";Key:"basedir"; String:"{app}\mysql-5.7.31-winx64"
 
Filename:"{app}\mysql-5.7.31-winx64\my.ini";Section:"mysqld";Key:"datadir"; String:"{app}\mysql-5.7.31-winx64\data"
 
Filename:"{app}\mysql-5.7.31-winx64\my.ini";Section:"mysqld";Key:"port"; String:"3306"
 
Filename:"{app}\mysql-5.7.31-winx64\my.ini";Section:"client";Key:"port"; String:"3306"
 
[Run]
Filename: "{app}\mysql-5.7.31-winx64\bin\mysql_init.bat";
Filename: "{app}\project\nginx\startNginx.bat";
Filename: "{app}\project\startProject.bat";

 
[UninstallRun]
Filename: "{app}\mysql-5.7.31-winx64\bin\mysql_stop.bat";
 
[UninstallDelete]
 
Type:filesandordirs;Name:"{app}"


 注意:配置文件中的地址需要根据自己本地的实际环境进行修改

例如:
OutputDir=C:\Users\HP\Desktop (该路径为生成exe程序的目录)
Source: “C:\Users\HP\Desktop\新建文件夹\mysql-5.7.31-winx64*” (该路径为本地新建的文件夹的地址)

将配置调整好之后,直接点击运行图标进行程序打包

执行完成后,到output文件夹下找exe文件。 

 

  • 4
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
在使用Inno Setup安装器时,我们可以将JDK 1和MySQL 5.7的JAR文件进行打包。 首先,我们需要将JDK 1的JAR文件MySQL 5.7的JAR文件下载到本地。确保这些JAR文件与你的项目要求的版本相匹配。 然后,创建一个新的Inno Setup安装器项目。在项目中,我们需要确保正确设置了JDK 1和MySQL 5.7的安装路径。这可以通过使用`[Files]`段来完,将JAR文件添加到安装目录中。例如: ``` [Files] Source: "path_to_jdk1.jar"; DestDir: "{app}\lib"; Flags: ignoreversion Source: "path_to_mysql57.jar"; DestDir: "{app}\lib"; Flags: ignoreversion ``` 这里,`path_to_jdk1.jar`和`path_to_mysql57.jar`应该替换为实际的文件路径。 然后,我们可以在Inno Setup脚本中添加适当的代码来安装JDKMySQL。这可以通过使用`[Run]`段来实现。例如: ``` [Run] Filename: "{app}\lib\jdk1.jar"; Parameters: "install"; StatusMsg: "Installing JDK..." Filename: "{app}\lib\mysql57.jar"; Parameters: "install"; StatusMsg: "Installing MySQL..." ``` 在这个示例中,`{app}\lib\jdk1.jar`和`{app}\lib\mysql57.jar`是实际JAR文件的路径,`install`是执行安装的命令。你可以根据实际情况修改这些参数。 最后,我们可以根据需要在Inno Setup脚本中添加其他操作,如创建快捷方式、注册表项等。 完这些步骤后,我们可以编译和生Inno Setup安装程序。然后,我们可以将生安装程序分发给用户,并安装JDK 1和MySQL 5.7的JAR文件。 希望这些步骤能帮助你功地将JDK 1和MySQL 5.7的JAR文件打包Inno Setup安装程序中。如果有任何问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值