c#之NSIS制作安装包
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