当前位置: 首页 > news >正文

Nsis打包Unity Exe文件(通用)

Nsi 脚本

!include "MUI2.nsh"#使用现代UI
Unicode true #使用Unicode
!define EXENAME "exeName" #定义常量 exe名称
!define SHORTCUT "快捷方式名称" #定义桌面快捷方式的中文名称Name ${EXENAME} #安装程序的title
OutFile "${EXENAME}_Setup.exe" #安装程序的名称InstallDir "$Desktop\${EXENAME}" #默认安装路径为桌面\exe名称#使用现代UI!define MUI_ABORTWARNING !define MUI_WELCOMEFINISHPAGE_BITMAP ${NSISDIR}\Contrib\Graphics\Wizard\orange.bmp!define MUI_UNWELCOMEFINISHPAGE_BITMAP ${NSISDIR}\Contrib\Graphics\Wizard\orange-uninstall.bmp!insertmacro MUI_PAGE_WELCOME  #欢迎界面!insertmacro MUI_PAGE_DIRECTORY #设置安装路径!insertmacro MUI_PAGE_INSTFILES #显示安装细节!insertmacro MUI_PAGE_FINISH #安装完成!insertmacro MUI_UNPAGE_WELCOME!insertmacro MUI_UNPAGE_CONFIRM!insertmacro MUI_UNPAGE_INSTFILES!insertmacro MUI_UNPAGE_FINISH!insertmacro MUI_LANGUAGE "SimpChinese"#安装界面为中文SectionSetOutPath $INSTDIR #安装程序生成后的位置File *.exe #打包exe文件File *.dllFile /r MonoBleedingEdgeFile /r "${EXENAME}_Data"WriteUninstaller $INSTDIR\Uninstall.exe #生成卸载程序CreateDirectory "$SMPROGRAMS\${EXENAME}" #开始程序文件夹内创建文件夹CreateShortcut "$DESKTOP\${SHORTCUT}.lnk" "$INSTDIR\${EXENAME}.exe" #桌面生成快捷方式 关联exe文件CreateShortcut "$SMPROGRAMS\${EXENAME}\${EXENAME}.lnk" "$INSTDIR\${EXENAME}.exe" #开始菜单 创建快捷方式CreateShortcut "$SMPROGRAMS\${EXENAME}\Uninstall.lnk" "$INSTDIR\Uninstall.exe" #开始菜单 创建删除exe的快捷方式WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${EXENAME}" "DisplayName" "${EXENAME}" #控制面板显示程序名称WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${EXENAME}" "UninstallString" "$INSTDIR\Uninstall.exe" #设置卸载程序关联的文件WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${EXENAME}" "DisplayIcon" "$INSTDIR\${EXENAME}.exe" #控制面板显示程序图标
SectionEndSection "Uninstall" #卸载程序的作用RMDIR /r $INSTDIR  #移除安装文件内所有内容RMDIR /r "$SMPROGRAMS\${EXENAME}" #移除开始菜单\程序名内所有内容Delete "$DESKTOP\${SHORTCUT}.lnk" #移除桌面快捷方式DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${EXENAME}" #移除注册表内容
SectionEnd

使用

  1. 构建Unity exe(Mono)文件;

  2. 构建nsi文件,填充上述代码

  3. 使用Visula Studio打开
    修改文件编码为在这里插入图片描述

  4. !define EXENAME “exeName” 设置exeName为发布文件内exe启动程序文件名
    !define SHORTCUT “快捷方式名称” 设置桌面快捷方式的中文名称

  5. nsi脚本放置到exe文件中

  6. 打开nsis编译器,拖拽nsi脚本

  7. 等待编辑即可

  8. 编译成功 exe文件夹内生成 exeName_Setup.exe文件

相关文章:

Nsis打包Unity Exe文件(通用)

Nsi 脚本 !include "MUI2.nsh"#使用现代UI Unicode true #使用Unicode !define EXENAME "exeName" #定义常量 exe名称 !define SHORTCUT "快捷方式名称" #定义桌面快捷方式的中文名称Name ${EXENAME} #安装程序的title OutFile "${EXENAME…...

【Azure 架构师学习笔记】- Azure Databricks (6) - 配置Unity Catalog

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Databricks】系列。 接上文 【Azure 架构师学习笔记】- Azure Databricks (5) - Unity Catalog 简介 UC的关键特性 之所以DataBricks要用UC, 很大程度是对安全的管控。从上文可以了解到它的四大特性&#…...

redis7部署集群:包含主从模式、哨兵模式、Cluster集群模式等三种模式

前言: redis部署集群常见的一般有三种模式:主从模式,Sentinel(哨兵模式),Redis Cluster(高可用Cluster集群),根据不同的需求可自定义选择部署方式。 Redis 主从模式&…...

072:vue+mapbox 点击某图层feature,高亮这部分

第072个 点击查看专栏目录 本示例是介绍如何在vue+mapbox中点击某图层feature,高亮这部分。思路是通过点击,获取点击部分的feature信息,生成一个新的source和layer,如果这个图层不为空,则清除之,相当于点击了别的地方,原有的高亮会删除掉,在别的地方高亮。 直接复制下…...

2024年最新安全且稳定的大数据传输方式

随着大数据时代的兴起,数据传输的速度和效率已经成为企业竞争的关键因素。到了2024年,大数据传输领域迎来了新的趋势和挑战,同时也涌现出了一系列创新的解决方案。本文将深入探讨这些新趋势和解决方案,意在帮助企业更好地迎接大数…...

Docker 数据卷容器

docker在容器中管理数据主要有两种方式: 数据卷(Volumes)挂载主机目录(Bind mounts) 而每个容器的数据都是独立的,数据跟随着容器的生命周期。如mysql容器,如果容器被删除了所有的数据都会丢失…...

深度学习记录--梯度检验

数值逼近 为了对梯度进行检验,需要计算近似误差值来接近梯度 对于单边误差和双边误差公式,其中双边误差与真实梯度相差更小,故一般采用双边误差公式 双边误差 公式: 梯度检验(gradient checking) 对于成本函数,求出…...

ERP进出库+办公用品管理系统

系统架构 简介系统架构部分页面结构图UML逻辑图办公用品入出库 简介 本系统适用于ERP企业公司职员关于系统化的申请相关办公用品,提高整体系统整合行,加大上下级之间的联系,规避因人员过多,而浪费人力在简单重复的工作中&#xf…...

Redis 笔记一

概览 1.Redis核心数据存储结构 2.Redis底层String编码int&embstr&raw 3.Redis底层压缩列表&跳表&哈希表 4.Redis底层Zset实现压缩列表和跳表如何选择 5.基于Redis实现微博&抢红包&12306核心业务 辅助学习:Redis 教程 | 菜鸟教程 1.Redis为什…...

学习记录687@spring data jpa 动态传递list参数并判断list是否为空

实际应用中需要在spring data jpa中使用原生sql,传递的参数是list,要根据list判断是否为空来判断是否要使用这个参数。 尝试了很多方法,比如size、length、is null、!null等等,都要报错,比如could not extract Result…...

寒假刷题第五天

PTA甲级 1022 Digital Library 大模拟 #include<iostream> #include<unordered_map> #include<unordered_set> #include<vector> #include<set>using namespace std;unordered_map<string , set<int>>ti , au , key , pub , year…...

Leetcode454四数相加Ⅱ(java实现)

今天&#xff0c;我们分享的题目是Leetcode454四数相加Ⅱ&#xff0c;我们先来看题目&#xff1a; 首先可以从题意中大体得知&#xff0c;也是从某个集合中找有没有符合条件的元素。遇见这种类型的题目我们可以考虑用哈希表&#xff0c;本题我们选取的是map集合&#xff0c;因…...

mysql 容器化安装(docker)离线和在线

前言&#xff1a;在部署hive或airflow 升级过程中&#xff0c;总需要一个对应的数据库存储元数据&#xff0c;一个轻量级的mysql容器刚刚好。轻量、可快速移植、具有隔离性。 文章目录 1、查看机器版本2、安装 docker3、启动docker 服务4、docker 常用命令docker5、拉取mysql …...

2. FPGA的电路结构概述

文章目录 1. 引言2. FPGA的一般结构2.1 概要2.2 FPGA三部分构成间的关系&#xff1a; 3. 小结 1. 引言 结构决定原理。原理未必决定结构。理解FPGA结构&#xff0c;进而能阐明其工作原理很有必要。FPGA产品的风云变换&#xff0c;其基本结构保持相对不变。 2. FPGA的一般结构…...

【Qt】Qt配置

需要云服务器等云产品来学习Linux的同学可以移步/-->腾讯云<--/-->阿里云<--/-->华为云<--/官网&#xff0c;轻量型云服务器低至112元/年&#xff0c;新用户首次下单享超低折扣。 目录 一、Qt SDK下载 二、配置环境变量 三、新建工程(QWidget) 四、QWidg…...

查看Linux系统内存、CPU、磁盘使用率和详细信息

一、查看内存占用 1、free # free -m 以MB为单位显示内存使用情况 [rootlocalhost ~]# free -mtotal used free shared buff/cache available Mem: 11852 1250 8668 410 1934 9873 Swap: 601…...

HttpServletRequest getServerPort()、getLocalPort() 、getRemotePort() 区别

getRemotePort() 、getServerPort()、getLocalPort() request.getServerPort()、request.getLocalPort() 和 request.getRemotePort() 这三个方法都是获取与HTTP请求相关的端口信息的 客户端(如浏览器)通过某个随机分配的网络连接端口(7070) 向服务器发送HTTP请求( http://exam…...

NVIDIA jetson编译opencv 源码 python版本

安装 jetson-stats 查看GPU的利用率 sudo apt-get install python3-pip sudo -H pip3 install jetson-stats 运行 jtop 进行查看 opencv 编译python版本 编译命令 cmake -D CMAKE_INSTALL_PREFIX/usr/local/opencv-4.6.0 -D CMAKE_BUILD_TYPERELEASE -D WITH_OPENGLON -D …...

TCP的三次握手,四次挥手

三次握手 第一次握手&#xff1a;客户端发送SYN报文&#xff0c;井发送seq为x序列号给服务端&#xff0c;等待服务端的确认第二次握手&#xff1a;服务端发送SYNACK报文&#xff0c;并发送seq为Y的序列号&#xff0c;在确认序列号为x1第三次握手&#xff1a;客户端发送ACK报文&…...

ElasticSearch高阶使用

目录 一、match_all 二、 text和keyword的区别 三、match、term的区别 四、exists query 五、 ids query 六、range query范围查询 七、prefix query前缀查询 八、 wildcard query通配符查询 九、 fuzzy query模糊查询 十、match query匹配查询 十一、multi_match q…...

如何构建高性能 Azure 应用:azcore 的 7 大优化技巧

如何构建高性能 Azure 应用&#xff1a;azcore 的 7 大优化技巧 【免费下载链接】azure-sdk-for-go This repository is for active development of the Azure SDK for Go. For consumers of the SDK we recommend visiting our public developer docs at: 项目地址: https:/…...

软考系统架构设计师实战论文集:自动驾驶与AI云端架构演进

【引言】 自动驾驶的下半场&#xff0c;早已不再局限于单车智能的角逐&#xff0c;而是演变成了一场关乎云端算力、海量数据治理与大模型工程化的全面战役。当接入的车辆规模突破百万级&#xff0c;当每日回传的工况数据达到 PB 级&#xff0c;云端数据平台的可靠性、扩展性与…...

Linux 进程从入门到实战(一)

.个人主页&#xff1a;晓风飞专栏&#xff1a;数据结构|Linux|C语言路漫漫其修远兮&#xff0c;吾将上下而求索文章目录进程为什么要存在内存&#xff1f;&#xff1f;操作系统进程什么是进程&#xff1f;PCB&#xff08;进程控制块&#xff09;操作系统如何管理进程&#xff1…...

Android NDK/JNI开发深度指南:从基础到实战

引言 在移动应用开发领域,Android平台以其开放性和灵活性著称。然而,当应用需要处理高性能计算、图像处理、游戏引擎或重用现有C/C++库时,纯Java实现可能面临性能瓶颈。这时,Native Development Kit(NDK)和Java Native Interface(JNI)成为关键工具。NDK允许开发者使用…...

【巴洛克AI生成合规白皮书】:基于梵蒂冈档案馆高清藏品训练的192个版权安全Prompt模板

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;巴洛克AI生成合规白皮书导论 巴洛克AI生成合规白皮书旨在为组织在部署和运营生成式人工智能系统时&#xff0c;提供一套可落地、可审计、可演进的合规治理框架。该白皮书聚焦于中国《生成式人工智能服务管理暂…...

如何确认Excel的识别范围

1.打开想要看的excel sheet2.ALTF11 打开工具VBA3.CTRLG呼出及时窗口4.输入?ActiveSheet.UsedRange.Address...

Taotoken助力初创团队低成本管理多个AI项目API用量

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Taotoken助力初创团队低成本管理多个AI项目API用量 对于小型创业团队的技术负责人而言&#xff0c;同时推进多个AI项目是常态。每个…...

如何三步实现AI虚拟试衣:OOTDiffusion从安装到实战的完整指南

如何三步实现AI虚拟试衣&#xff1a;OOTDiffusion从安装到实战的完整指南 【免费下载链接】OOTDiffusion [AAAI 2025] Official implementation of "OOTDiffusion: Outfitting Fusion based Latent Diffusion for Controllable Virtual Try-on" 项目地址: https://…...

2026这6款硬核降AIGC软件大公开,一键把AI检测率精准控到安全区!

步入 2026 年&#xff0c;学术圈的规则早已不是过去那个模样。从最初的查重率焦虑&#xff0c;到如今的 AIGC 检测风暴&#xff0c;整个环境正在经历一场前所未有的洗牌。AI 检测系统越来越“狡猾”&#xff0c;高校的审查标准也愈发严苛。光是把重复率压下去已经不够了&#x…...

格式规范否?8款AI论文网站排名,毕业答辩稳了!

论文选题总在反复纠结&#xff0c;文献检索耗时又费力&#xff1f;写作过程中思路混乱&#xff0c;逻辑难以梳理&#xff1f;查重修改一遍又一遍&#xff0c;时间精力都被消耗殆尽&#xff1f; 别担心&#xff01;AI论文工具正在成为高校学子的得力助手。本文将基于内容生成质量…...