InnoSetup制作安装包(EXE)

news2024/12/26 11:08:42
  1. 功能描述
    1.666666.war为项目war包,666666.bat为启动war包脚本,通过InnoSetup将它们打包到安装包666666.exe
    2.666666.exe安装包安装过程中将666666.bat注册为自启动服务,安装结束自动执行脚本启动项目666666.war
    ----------------------------------------666666.bat----------------------------------------
    @echo off
    start /B javaw -jar "D:\666666.war"
  2. InnoSetup下载
  3. 生成安装程序














  4. 解释安装程序
    1.#define MyAppName "AAA":定义一个名为MyAppName的常量,并赋值为"AAA"。
    2.#define MyAppVersion "1.0":定义一个名为MyAppVersion的常量,并赋值为"1.0"。
    3.#define MyAppPublisher "BBB":定义一个名为MyAppPublisher的常量,并赋值为"BBB"。
    4.#define MyAppURL "CCC":定义一个名为MyAppURL的常量,并赋值为"CCC"。
    5.[Setup]:这是一个安装脚本的头部标记,用于指定安装信息。
    6.AppId={{9BCA7C00-6B43-4EBB-B710-EE01EF415EE4}:指定安装包的唯一标识符,使用GUID格式。
    7.AppName={#MyAppName}:指定安装包的名称,使用MyAppName常量的值。
    8.AppVersion={#MyAppVersion}:指定安装包的版本号,使用MyAppVersion常量的值。
    9.AppPublisher={#MyAppPublisher}:指定安装包的发布者名称,使用MyAppPublisher常量的值。
    10.AppPublisherURL={#MyAppURL}:指定安装包的发布者网址,使用MyAppURL常量的值。
    11.AppSupportURL={#MyAppURL}:指定安装包的技术支持网址,使用MyAppURL常量的值。
    12.AppUpdatesURL={#MyAppURL}:指定安装包的更新网址,使用MyAppURL常量的值。
    13.DefaultDirName={autopf}{#MyAppName}:指定安装包的默认安装路径,使用MyAppName常量的值。
    14.DefaultGroupName={#MyAppName}:指定安装包在开始菜单中的默认分组名称,使用MyAppName常量的值。
    15.PrivilegesRequired=lowest:如果取消注释此行,则将在非管理员安装模式下运行安装程序(仅为当前用户安装)。
    16.OutputDir=C:\Users\Administrator\Desktop:指定生成安装包的目标目录。
    17.OutputBaseFilename=666666:指定生成的安装包的文件名。
    18.Compression=lzma:指定使用的压缩算法。
    19.SolidCompression=yes:指定是否对文件进行实体化压缩。
    20.WizardStyle=modern:指定使用的安装程序向导界面风格。
    21.[Languages]:这是一个安装脚本的语言部分,用于指定语言文件。
    22.Name: "english"; MessagesFile: "compiler:Default.isl":指定使用英语作为安装程序的语言,使用默认的语言文件。
    23.[Files]:这是一个安装脚本的文件部分,用于指定需要拷贝的文件信息。
    24.Source: "D:\666666.war":指定需要拷贝的源文件路径。
    25.DestDir: "{app}":指定目标文件夹,这里使用了默认
  5. 编辑安装程序
    [Run]
    Filename: "cmd.exe"; Parameters: "/c sc query 666666 && sc delete 666666"; Flags: runhidden
    Filename: "cmd.exe"; Parameters: "/c sc create 666666 binPath= ""{app}\666666.bat"" start= auto"; Flags: runhidden
    Filename: "{app}\666666.bat"; Flags: postinstall runasoriginaluser
    
    在这个代码中,第一行使用 sc query 命令来检查是否存在名为 666666 的服务。如果存在,sc query 命令将返回服务的信息,
    否则将返回错误信息。使用 && 运算符将 sc delete 命令和 sc query 命令组合在一起,只有在 sc query 命令返回成功时才
    会执行 sc delete 命令。sc delete 命令将删除名为666666的服务。接下来,我们使用 sc create 命令创建一个名为666666 
    的服务,并将服务的二进制文件设置为 {app}\666666.bat。start=auto 意味着服务将在系统启动时自动启动。
    
    最后一行是用来运行 {app}\666666.bat 文件,以便在安装完成后运行该脚本。runasoriginaluser 标记意味着该脚本将以安
    装程序运行时的相同权限级别运行。


  6. 运行安装程序(666666.exe)





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

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

相关文章

VxLAN数据中心L2/L3互通(端到端)

VxLAN数据中心端到端方式实现L2/L3互连,这种实现方式可以使数据中心属于同一个EVPN-VXLAN域,相较于hand-off方式通过端到端实现数据中心L2互连可以满足Mac mobility、ARP suppression等特性。 实现思路 DC1的Border-Leaf和DC2的Border-Leaf之间运行EBG…

测试:腾讯云轻量4核8G12M服务器CPU流量带宽系统盘

腾讯云轻量4核8G12M应用服务器带宽,12M公网带宽下载速度峰值可达1536KB/秒,折合1.5M/s,每月2000GB月流量,折合每天66GB,系统盘为180GB SSD盘,地域节点可选上海、广州或北京,4核8G服务器网来详细…

MySQL 日志

错误日志(error log): error log 主要记录 MySQL 在启动、关闭或者运行过程中的错误i西南西,在MySQL 的配置文件 my.cnf 中,可以通过 log-error/var/log/mysqld.log 执行 mysql 错误日志的位置 慢查询日志(slow query log): MySQL 的慢查询日志是 MyS…

【erlang】并发篇

PID类型 在之前的语法篇中,我们并没有介绍 PID这个类型,它和并发息息相关,因此我们在这里来学习它。 PID是进程标识符的意思,用来标识一个erlang进程。在所有相连的erlang节点中,PID都是唯一的。但是PID会被复用&…

从零搭建一个 Level-2 快照数据的因子计算平台

因子挖掘是量化交易的基础。近年来,Python 是很多研究员进行数据分析和因子挖掘的主流工具。但是通过 Python 挖掘的有效因子在投产时,通常需要由 QUANT 团队的研究员将代码提交给 IT 团队,IT 团队用 C 代码转写后部署到生产环境,…

1. HTMLCSS

文章目录1 盒子模型:1.1 盒子属性导图1.2 边框属性导图1.3 定位导图:2 HTML常用标签2.1 基本标签① HTML基本结构② HTML常见标签③ 特殊字符④ 列表标签a 无序列表:b 有序列表:⑤ 表单3 CSS快速上手3.1 background属性① 思维导图…

自适应遗传算法求解TSP问题(Java)

1 引言 普通遗传算法(Sample Genetic Algorithm, SGA)存在着严重的缺点,它的Pc和Pm的值是固定的,本文采用自适应遗传算法进行求解TSP问题。不管是优良个体还是劣质个体都经过了相同概率的交叉和变异操作。这会引起两个很严重的问…

Linux驱动开发——高级I/O操作(二)

目录 proc文件操作 非阻塞型I/O 阻塞型I/O proc文件操作 proc 文件系统是一种伪文件系统,这种文件系统不存在于磁盘上,只存在于内存中只有内核运行时才会动态生成里面的内容。这个文件系统通常挂载在/proc 目录下,是核开发者向用户导出信息…

公司招人,面试了50+的候选人,技术实在是太烂了····

前两个月,公司测试岗位面了 50候选人,面试下来发现几类过不了的情况,分享大家防止踩坑: 技术倒是掌握得挺多,但只是皮毛,基础知识却是一塌糊涂。工作多年,从未学习过工作之外的技术栈&#xff…

ERTEC200P-2 PROFINET设备完全开发手册(7-1)

7. 配置模块及自定义模块 7.1.1 PN设备的基本模型 初次接触PN的开发者,最容易出现的错误就是设备的实际配置与TIA的组态不一致。为了开发的过程更加顺利,非常有必要掌握PN设备的基础模型。PN设备的基本模型如下图描述: PN设备的基本构成是插…

No.039<软考>《(高项)备考大全》【第23章】综合测试管理

【第23章】综合测试管理1 章节相关1.1 考试相关1.2 案例相关2 测试监控3 测试风险管理4 测试人员绩效考核4.1 测试分类测试类型分类执行方式分类开发阶段分类5 开发测试分类参考答案1 章节相关 1.1 考试相关 必考1分选择,案例概率低。 1.2 案例相关 2020年下半年…

关于IOS系统时间格式显示NAN问题以及小程序项目运行报错app.json找不到

目录 问题一:关于IOS系统时间格式显示NAN 一、比较常见的情况,时间格式为"yyyy-MM-dd HH:mm:ss"格式在 iOS 会出现 NAN 二、关于时间临界值:对于00:00:00和24:00:00这两个时间临界值, ios会转成NAN 三、时间格式为2022/09&#…

Java语法理论和面经杂疑篇《六.泛型(Generic)》

1. 泛型概述 1.2 泛型的引入 在Java中,我们在声明方法时,当在完成方法功能时如果有未知的数据需要参与,这些未知的数据需要在调用方法时才能确定,那么我们把这样的数据通过形参表示。在方法体中,用这个形参名来代表那…

Medical X-rays Dataset汇总(长期更新)

目录​​​​​​​ ChestX-ray8 ChestX-ray14 VinDr-CXR VinDr-PCXR ChestX-ray8 ChestX-ray8 is a medical imaging dataset which comprises 108,948 frontal-view X-ray images of 32,717 (collected from the year of 1992 to 2015) unique patients with the text-mi…

Nginx(下载安装、常用命令、反向代理、负载均衡)

官网:https://nginx.org/Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,其特点是占有内存少,并发能力强。下载和安装下载在Nginx的官网的下载页面中(http://nginx.org/en/download.html)&#xff…

01、Cadence使用记录之新建工程与基础操作(原理图绘制:OrCAD Capture CIS)

01、Cadence使用记录之新建工程与基础操作(原理图绘制:OrCAD Capture CIS) 硕士学电磁场去了,写点博客记录下学习过程。 参考的教程是B站的视频:allegro软件入门视频教程全集100讲 本科的时候就对Cadence有所耳闻&am…

网络安全漏洞分析与漏洞复现

前言 4 月 6 日和 5 月 18 日,VMware 官方发布的两则安全公告中显示,关乎旗下产品的 CVE 漏洞多达 10 个,其中不乏有 CVSSv3 评分 9.8 的高危漏洞!如此高频的出洞速率,吸引了笔者注意。笔者将对 CVE-2022-22954 VMwar…

用CTGAN生成真实世界的表格数据

随着CLIP和稳定模型的快速发展,图像生成领域中GAN已经不常见了,但是在表格数据中GAN还是可以看到它的身影。 现实世界的复杂性与许多方面相关(例如,缺失数据、不平衡数据、噪声数据),但最常见的一个问题是包含异构(或“混合”)数…

软考电子商务设计师如何备考?

关于软考电子商务设计师考什么?如何备考? 一、电子商务设计师概述? 电子商务设计师属于软考中级资格考试,软考是由国家人力资源和社会保障部(原人事部)、工业和信息化部(原信息产业部)领导的…

使用Softing edgePlug软件扩展数控机床的连接性

那些使用SINUMERIK 840D控制器来运行数控机床的制造商正面临着一个挑战——从车间提取机床性能和过程数据来进行分析。这些数据对于优化流程至关重要,但它们却无法通过传统方式来被获取。对此,制造商的应对方法是通过自定义代码来实现数据访问&#xff0…