c#之NSIS制作安装包

发布时间 2023-09-12 15:21:05作者: smile908

1:如果想制作的安装包可以支持多语言,安装界面的多语言,可以在nsis脚本语言里面加入

Unicode True

这样的话,在安装包安装的时候就可以选择语言

 

2:运行时无法卸载,有的时候用户会在程序运行期间会对软件进行一个卸载,这个时候我们可以在nsis脚本

中加入以上代码,可防止用户在运行时去卸载程序。

//在un.oninit函数中进行函数的调用
Function un.onInit
!insertmacro FindProcess

//运行时无法卸载

!macro FindProcess
StrCpy $1 "PC8824.exe"
nsProcess::_FindProcess "$1"
Pop $R0
${If} $R0 = 0
MessageBox MB_OK|MB_ICONSTOP "程序檢測到 PC8824 正在運行,請關閉PC8824重新開始!" IDOK
Abort
${EndIf}
!macroend

 

3:静默安装

在有点时候,我们的App可能会依赖一些其他的环境,一些运行时或者第三方App,这个

时候我们就可以将这些工具集成在我们的app中,在我们的app安装过程中,我们会去

检查电脑上是否有我们需要的这个环境,如果没有,我们将会在后台静默安装,这个时候

我们的App就可以拥有这个环境成功运行了

//在安装的时候进行一个函数的调用

Call CheckDotNetFramework

//静默安装,检查,dotnet框架 

Function CheckDotNetFramework
;MessageBox MB_OK "未安装.NET Framework 7.0.4,正在安装..."
;ExecWait "$INSTDIR\windowsdesktop-runtime-7.0.4-win-x86.exe"
; 静默安装.NET Framework 7.0.4
ExecWait '"$INSTDIR\windowsdesktop-runtime-7.0.4-win-x86.exe" /q /norestart'
FunctionEnd

 

4:在安装的界面改变banner

; 欢迎页面
!define MUI_WELCOMEFINISHPAGE_BITMAP "C:\Users\Avecle\Desktop\release\favicon.ico"
!insertmacro MUI_PAGE_WELCOM

例子:
; Welcome page
!define MUI_WELCOMEFINISHPAGE_BITMAP ".\resource\welcome_install.bmp"
!insertmacro MUI_PAGE_WELCOME