如何封装exe安装包

创建一个exe安装包通常需要一个安装包制作工具,如Inno Setup、NSIS(Nullsoft Scriptable Install System)或WIX工具集等。本文以NSIS为例,介绍如何封装exe安装包及其原理。

#### 下载与安装NSIS

首先,您需要下载NSIS。NSIS是一款免费、开源的安装程序制作工具,可用于生成Windows的安装包。访问以下网址下载NSIS:https://nsis.sourceforge.io/Download

下载完成后,运行安装程序并按照提示安装NSIS。

#### 创建安装包脚本

接下来,创建一个文本文件,命名为`installer.nsi`,用于编写NSIS脚本。NSIS脚本是用NSIS定义的脚本语言,用于指定安装包的内容和行为。以下是一个简单的例子:

```nsis

; 设置安装包输出

Outfile "MyAppInstaller.exe"

; 设置默认安装路径

InstallDir $PROGRAMFILES\MyApp

; 设置安装模式

RequestExecutionLevel admin

; 页面显示顺序

Page directory

Page instfiles

;默认部分

Section

;指定安装到的路径

SetOutPath $INSTDIR

;输出到安装目录的文件

File /r "MyApp\*.*"

;创建快捷方式

CreateDirectory $SMPROGRAMS\MyApp

CreateShortCut "$SMPROGRAMS\MyApp\MyApp.lnk" "$INSTDIR\MyApp.exe"

; 注册应用程序的卸载信息

WriteUninstaller $INSTDIR\Uninstall.exe

WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\MyApp" "DisplayName" "MyApp"

WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\MyApp" "UninstallString" "$INSTDIR\Uninstall.exe"

SectionEnd

; 卸载部分

Section "Uninstall"

; 删除快捷方式

Delete "$SMPROGRAMS\MyApp\MyApp.lnk"

Delete "$INSTDIR\Uninstall.exe"

; 删除安装的文件及文件夹

RMDir /r "$INSTDIR"

; 删除卸载信息

DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\MyApp"

SectionEnd

```

这个脚本定义了一个名为“MyApp”的程序的安装及卸载过程。请根据您的实际需求修改此脚本释义,例如应用程序的名称、安装位置、添加或删除的文件等。

#### 编译安装包脚本

在`installer.nsi`脚本同一目录下,右键点击该文件,选择“Compile NSIS Script”,NSIS将对脚本进行编译,生成名为“MyAppInstaller.exe”的exe安装包。

#### 测试安装包

双击“MyAppInstaller.exe”文件运行安装程序,检查安装过程是否正常。在安装的文件夹中检查生成的文件和卸载程序。

#### 结语

您成功使用NSIS创建了一个exe安装包。当然,NSIS功能远不止于此,您可以通过详细研究官方文档(https://nsis.sourceforge.io/Simple_tutorials)来深入了解更多高级功能。