NSIS 入门教程 (一)

2024-06-22 19:12
文章标签 nsis 入门教程

本文主要是介绍NSIS 入门教程 (一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 介绍

大多数应用程序都附带一个安装程序,它将所需的文件复制到正确的文件夹中,创建注册表项,并提供卸载例程以(希望)从计算机中彻底删除应用程序. 有多种解决方案可以为自主开发的应用程序配备安装程序。除了Install Shield或Wise等商业产品外,还有开源安装工具Nullsoft Scriptable Install System (NSIS)。在本教程中,我将展示使用 NSIS 创建安装程序的一些简单步骤

在第一部分中,将介绍一些基础知识,然后我们创建了第一个真正的安装程序。第二部分涵盖卸载主题和安装程序的其他对话框。在第三部分中,将为安装人员提供了更现代的外观

下载与安装

NSIS 可以从 NSIS官方 下载。如果你感觉全英文界面不适应或者不符合你的操作习惯,也可以在 我的博客 中下载简体中文版本! 然后启动下载的文件,它会安装 NSIS。一般情况下采用默认值完成安装即可。

基础与入门

NSIS 创建一个安装文件,其中包含所有要安装的文件和安装脚本。为此,您必须创建一个描述安装步骤的 NSIS 脚本。 NSIS 脚本是一个普通的文本文件,可以使用任何文本编辑器进行编辑。由于 NSIS 会在错误消息中标定受影响的代码行,因此使用可以显示行号的文本编辑器是必要的。

NSIS wiki有 专门针对 NSIS 的编辑器列表。我在本教程中 使用 简体中文版HM NISEdit

NSIS 脚本文件的文件扩展名为 .nsi。为了更好地阅读浏览与维护,NSIS 脚本还可以通过在头文件中存储函数或宏来分为多个文件。头文件文件扩展名叫 .nsh 然后在脚本中使用 !include 命令以集成头文件内容。

行注释以分号“;”开头,并在行尾结束。所有命令也在行尾结束。如果一个命令需要跨多行,必须在行尾添加一个反斜杠“\”。

Hello World!

我们创建的第一个“安装程序”脚本是著名的“Hello World”示例。为此,必须在文本编辑器中输入以下文本:

Name "Hello World"
OutFile "helloworld.exe"
Section "Hello World"
MessageBox MB_OK "Hello World!"
SectionEnd

该文本现在保存在文件名“helloworld.nsi”下。然后就可以启动编译器了。直接拖进编译器(如果没有 HM NIS Edit)或通过命令行运行下面的命令:

makensis              "Hello World.nsi"

如果脚本能够编译且没有错误,则应该在脚本文件夹中创建一个名为“helloworld.exe”的可执行文件。启动此应用程序后,会出现一个安装程序窗口,上面会出现一个消息框,消息框内包含文本“Hello World!”

 

 NSIS HelloWorld 安装程序 

使用命令说明: 

Name  

设置安装程序的名称。通常,它与应用程序的名称相对应,例如“MyApp”。如果名称包含一个或多个“&”,则必须在第二个参数中指定带有双重“&”的名称,例如: 

 Name "Foo & Bar" "Foo && Bar"

OutFile 

设置输出文件的名称。还可以包含路径,例如: 

OutFile "C:\Temp\MyApp.exe"

Section 

开始一个新区段。区段也可以是隐藏的、可选的或用于卸载程序。该区段由 SectionEnd 指令关闭。 

MessageBox 

显示带有指定选项(“显示确定按钮”)和指定文本的消息窗口 

第一个“真正的”安装程序 

要真正将某些内容写入硬盘并不需要太多步骤: 

Name "First Installer"
OutFile "Myapp.exe"
InstallDir $PROGRAMFILES\Myapp
Page directory
Page instfiles
Section ""
SetOutPath $INSTDIR
File C:\Windows\system32\notepad.exe
SectionEnd

我们已经从 HelloWorld 安装程序中了解了 Name 和 OutFile 。InstallDir 设置默认安装路径。使用常量 $PROGRAMFILES 将指向系统已配置的程序文件夹。使用命令 Page 指定安装程序中要显示的页面。在这种情况下,首先显示安装目录查询与设置对话框。

然后是实际的安装对话框,后面将在其中复制文件。 在 Section 内部,使用 SetOutPath 确定并创建安装文件夹。使用File指定要提取到安装文件夹中的文件。 

展望 

 在后面的第二部分教程中,我们将使我们的安装程序也能够卸载程序。此外,我们还将查看一些其他页面,并为用户提供选择安装特定部分的选项。

预计以后在第三部分中,我们将为安装程序配备 ModernUI,使其具有更现代的外观。

这篇关于NSIS 入门教程 (一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1085166

相关文章

NSIS 入门教程 (三)

引言 在教程的第二部分中,我们为安装程序增加了一个卸载程序,并查看了一些其他的向导页面以及安装部分的选择。第三部分的目标是使安装程序的外观更加现代化。 更现代的外观 为了给安装程序一个更现代的外观,我们要启用现代用户界面。要提升我们的安装程序(基于“secondinstaller”),不需要做太多的修改: !include "MUI2.nsh"Name "Fifth Installer"

MyBatis-Plus入门教程(一)

MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上为其提供了许多便捷功能,使开发者能够更快速、高效地进行数据库操作。 MyBatis-Plus 简介 1. 什么是 MyBatis-Plus? MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,它旨在简化开发过程,减少重复代码,提高开发效率。MP 通过封装和扩展 MyBatis 提

NSIS 入门教程 (二)

引言  在教程的第一部分中创建第一个安装程序后,我们还将需要删除其安装区段中已安装的文件。我们还将展示更多安装引导页面,让用户有机会选择安装的某些部分。  卸载  创建一个安装程序.可以干净的卸载,不仅是一种礼貌,对于程序的开发与发行方也有很多好处:  • 对于更新,首先可以干净地删除旧版本文件。这意味着新版本不再需要的旧文件不会产生任何副作用。  • 如果用户很难卸载一个他不喜欢的程序

Spring Boot入门教程

Spring Boot入门教程可以按照以下步骤进行,以确保清晰和有条理地学习: 1. Spring Boot简介 Spring Boot是由Pivotal团队提供的全新框架,旨在简化Spring应用的初始搭建以及开发过程。它使用了特定的方式来进行配置,使开发人员不再需要定义样板化的配置。Spring Boot可以轻松创建可以“直接运行”的、独立的、生产级的基于Spring的应用程序。 2.

Keras入门教程 ——1.线性回归建模(快速入门)

Keras入门教程 1.线性回归建模(快速入门)2.线性模型的优化3.波士顿房价回归(MPL)4.卷积神经网络(CNN)5.使用LSTM RNN进行时间序列预测6.Keras 预训练模型应用 线性回归建模(快速入门) 前言 Keras 是何物?Keras 是一个用 Python 编写的高级神经网络 API。其是以TesorFlow作为后端运行的。我们安装深度学习框架tensor

《军哥谈CI框架》之入门教程之第四讲

大家新年好!不知不觉我们来到了2013年,军哥祝大家在新的一年里身体儿杠杠滴,吃嘛嘛香,新年新气象,财源滚滚~~ 今天我们来学习CI中的模型和辅助函数。 【本讲内容】 一、模型; 之前我们分别介绍了MVC模式中的C层和V层,而M层还没有谈到。现在我们来谈一谈。 了解什么是模型?如何创建一个简单的模型?怎样载入模型? 二、辅助函数。

Nvidia Isaac Sim 入门教程 2024(2)安装与配置

Isaac Sim 安装与环境配置 版权信息 Copyright 2023-2024 Herman Ye@Auromix. All rights reserved.This course and all of its associated content, including but not limited to text, images, videos, and any other mat

【第10章】如何获取免费“工作流”?(国内外网站推荐/下载/使用)ComfyUI基础入门教程

使用ComfyUI的一个重点,就是可以快速使用别人分享的工作流,来完成特定的图像生成任务,从而提升工作效率。 那么,去哪儿可以找到别人分享的工作流呢? 这节课我们了解下,比较知名的工作流网站有哪些?以及如何下载? 备注:下节课再讲如何使用。 🎆“老牌” workflow网站Openart.ai 【网址】https://openart.ai/home 【网络】需要魔法,才能

【第11章】别人的工作流,如何使用和调试(上)?(2类必现报错/缺失节点/缺失模型/思路/实操/通用调试步骤)ComfyUI基础入门教程

经过前面章节的学习,相信大家对于工作流是什么?如何搭建?怎么使用基础的工作流?已经很清楚了。 那么,接下来的课程,我们会上一点难度, 并且更接近实战状态了。 这节课,我们就用一套从“文本 - 静帧 - 视频”的AI短片全流程工作流,讲一下,网络上下载的工作流,需要如何调试才能正常使用? 🏀前期准备 首先,我们需要从网盘找到本节课需要用到的工作流——AI短片全流程 【AI短

LaTex入门教程

目录 1.说明 2.页面的分区 3.入门介绍 (1)命令 (2)环境 (3)声明 (4)注释 4.代码结构 (1)导言区 (2)支持中文 (3)警告说明 (4)文章层级 1.说明 之前主要是对于这个软件的使用并不熟悉,做的主要是一些入门的工作,现在决定要系统的学习这个软件,包括他的诸多功能; 还是那句话,推荐使用的就是这个overleaf这个线上编辑器,这个不