electron集成Java服务端制作windows安装包

2022/3/3 7:16:04

本文主要是介绍electron集成Java服务端制作windows安装包,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一. 使用Winsw将jar包制作成windows服务

  1. winsw: 

   它是一个开源单文件的可执行exe文件,可以再 Github 上下载,一般来说当然是下载最新的。winsw可以运行在.NET2和.NET4两个版本上,当然如果使用Win10等比较新的系统,最好下载更新版本的.NET。

  1. 所需文件:

    • jre: java运行环境
    • logs: 日志文件夹(可选)
    • demo.exe:下载后会得到一个WinSW-x64.exe 我这里将它重名为demo.exe ,改成什么都可以便于使用即可。
    • demo.jar: java 服务jar包
    • demo.xml: 服务配置文件
    • install.cmd: cmd脚本,用于添加服务(后续详解)
    • uninstall.cmd: 删除服务脚本(同上)
  2. 修改配置:

    <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>
  3. Winsw命令说明:

    • demo install 安装服务
    • demo uninstall 卸载服务
    • demo start 开启服务
    • demo stop 停止服务
    • demo restart 重新启动服务
    • demo status 检查服务的当前状态
    • ps: 命令格式为 winsw.exe install ,例如当前为demo.exe isntall 可以简写为 demo isntall
  4. install.cmd 安装服务

    @echo.InstallService......
    @echo off
    @demo install
    @demo start
    @echo off
    @echo.Success!

     

  5. uninstall.cmd 删除服务
    @echo.UnInstallService
    @echo off
    @demo stop
    @demo uninstall
    @echo off
    @echo.DeleteSuccess!

     

  6. 启动后服务中会有相应的服务

    可以win+R 在运行中输入 "SERVICES.MSC" 查看服务

    

 

 

二. 使用Inno Setup打包

  1. 详细请看上一篇 : Idea + exe4j + Inno Setup 将javaFx项目集成jdk打包成安装包 中 :三.Inno Setup 将exe程序集成jdk打包成安装程序

  2. 修改配置:

  在[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安装包的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程