electron集成Java服务端制作windows安装包
2022/3/3 7:16:04
本文主要是介绍electron集成Java服务端制作windows安装包,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一. 使用Winsw将jar包制作成windows服务
-
winsw:
它是一个开源单文件的可执行exe文件,可以再 Github 上下载,一般来说当然是下载最新的。winsw可以运行在.NET2和.NET4两个版本上,当然如果使用Win10等比较新的系统,最好下载更新版本的.NET。
-
所需文件:
- jre: java运行环境
- logs: 日志文件夹(可选)
- demo.exe:下载后会得到一个WinSW-x64.exe 我这里将它重名为demo.exe ,改成什么都可以便于使用即可。
- demo.jar: java 服务jar包
- demo.xml: 服务配置文件
- install.cmd: cmd脚本,用于添加服务(后续详解)
- uninstall.cmd: 删除服务脚本(同上)
-
修改配置:
<service> <!--windows服务id 必须唯一 --> <id>demo</id> <!-- windows服务名称--> <name>demo</name> <!-- 描述 --> <description>测试服务</description> <!-- 启动的可执行文件 %BASE%为当前demo.exe所在路径--> <executable>%BASE%\jre\bin\java.exe</executable> <!-- 传递给可执行文件的参数--> <arguments> -jar "%BASE%\demo.jar"</arguments> <!--日志模式 --> <logmode>rotate</logmode> <!-- 日志文件路径--> <logpath>%BASE%/logs</logpath> <!-- 开机自启 --> <startmode>Automatic</startmode> </service>
-
Winsw命令说明:
- demo install 安装服务
- demo uninstall 卸载服务
- demo start 开启服务
- demo stop 停止服务
- demo restart 重新启动服务
- demo status 检查服务的当前状态
- ps: 命令格式为 winsw.exe install ,例如当前为demo.exe isntall 可以简写为 demo isntall
-
install.cmd 安装服务
@echo.InstallService...... @echo off @demo install @demo start @echo off @echo.Success!
- uninstall.cmd 删除服务
@echo.UnInstallService @echo off @demo stop @demo uninstall @echo off @echo.DeleteSuccess!
- 启动后服务中会有相应的服务
可以win+R 在运行中输入 "SERVICES.MSC" 查看服务
二. 使用Inno Setup打包
-
详细请看上一篇 : Idea + exe4j + Inno Setup 将javaFx项目集成jdk打包成安装包 中 :三.Inno Setup 将exe程序集成jdk打包成安装程序
-
修改配置:
在[Run]下添加: Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
添加[UninstallRun]节点 并添加一下内容 :Filename: "{app}\server\uninstall.cmd"; StatusMsg: "正在删除服务...";
完整配置文件:
; 脚本由 Inno Setup 脚本向导 生成! ; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档! #define MyAppName "我的程序" #define MyAppVersion "1.5" #define MyAppPublisher "我的公司" #define MyAppURL "http://www.example.com/" #define MyAppExeName "demo.exe" [Setup] ; 注: AppId的值为单独标识该应用程序。 ; 不要为其他安装程序使用相同的AppId值。 ; (若要生成新的 GUID,可在菜单中点击 "工具|生成 GUID"。) AppId={{335C4E66-1129-4B46-ACBE-B7CFC6845E40} AppName={#MyAppName} AppVersion={#MyAppVersion} ;AppVerName={#MyAppName} {#MyAppVersion} AppPublisher={#MyAppPublisher} AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} DefaultDirName={autopf}\{#MyAppName} DisableProgramGroupPage=yes ; 以下行取消注释,以在非管理安装模式下运行(仅为当前用户安装)。 ;PrivilegesRequired=lowest OutputDir=C:\Users\77175\Desktop\electron\out OutputBaseFilename=demoSetup Compression=lzma SolidCompression=yes WizardStyle=modern [Languages] Name: "chinesesimp"; MessagesFile: "compiler:Default.isl" [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked [Files] Source: "C:\Users\77175\Desktop\electron\demo\dist_electron\win-unpacked\demo.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "C:\Users\77175\Desktop\electron\源文件\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs ; 注意: 不要在任何共享系统文件上使用“Flags: ignoreversion” [Icons] Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon [Run] Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent Filename: "{app}\server\install.cmd"; StatusMsg: "正在注册服务..."; [UninstallRun] Filename: "{app}\server\uninstall.cmd"; StatusMsg: "正在删除服务...";
这篇关于electron集成Java服务端制作windows安装包的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-20测试人员都是画画大神,让我看看谁还不会用代码图?
- 2024-05-20年薪百万的程序员都在用的摸鱼方式……
- 2024-05-19永别了,微服务架构!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了