赞
踩
前段时间在做安装程序时,需要自定义安装界面代替传统的打包工具制作的安装界面。毕竟打包工具制作的界面定制麻烦也比较丑。我们可以使用第三方界面库写安装程序,再在NSIS脚本中调用即可。
采用NSIS + QT 制作安装程序实际上就是使用QT制作安装程序,而NSIS仅仅将制作的安装程序打包成一个exe。
;这次是打包生成exe的路径 OutFile ${TheOutFile} ;使用静默安装不出现任何NSIS自带的界面 SilentInstall silent Function .onInit #NSIS程序安装准备工作 InitPluginsDir #创建临时目录(内存)用于保存一些必要的库 SetOutPath $PLUGINSDIR #将文件保存在临时目录中 ;打包的exe需要的文件 ;File "Qt5Gui.dll" ;File "Qt5Core.dll" File /r "${PACK_DIR}" FunctionEnd Function .onInstSuccess #安装成功后调用 call fun Functionend Function fun #当静默安装成功之后,会调用我们自己写的安装界面程序 #这样就实现了我们自定义安装界面程序 ExecWait $PLUGINSDIR\NimoStreamerInstall.exe #调用QT安装程序,等待其运行完后运行下一条语句 RMDir $PLUGINSDIR #释放临时目录(内存) FunctionEnd Section SectionEnd
NISEdit 是NSIS脚本的可视化编辑器,[NSIS打包程序]https://blog.csdn.net/lfwh1517/article/details/78613453)
使用NSIS脚本时,定义的变量可以通过命令行参数传递进去,传递形式“-D变量名=值”
例如传递上面脚本中的自定义变量名称:
makensis.exe /DPACK_DIR="E:\\Package\\Release_x86\\" -DTheOutFile="E:\\NimoStreamer.exe" NimoPC.nsi
;!define PATHTOFILE "C:\\thisis\\file"
!insertmacro MUI_LANGUAGE "SIMPCHINESE"
VIProductVersion "1.0.0.0" ;must be X.X.X.X
VIAddVersionKey /LANG=${LANG_SIMPCHINESE} FileDescription "NimoStreamer"
VIAddVersionKey /LANG=${LANG_SIMPCHINESE} FileVersion "1.0.0"
VIAddVersionKey /LANG=${LANG_SIMPCHINESE} ProductName "NimoStreamer"
VIAddVersionKey /LANG=${LANG_SIMPCHINESE} ProductVersion "${ExecName}"
VIAddVersionKey /LANG=${LANG_SIMPCHINESE} LegalCopyright "Copyright (C) 2018"
VIAddVersionKey /LANG=${LANG_SIMPCHINESE} CompanyName "Huya"
[NSIS + QT 做安装卸载程序]https://blog.csdn.net/mqdChalali/article/details/52596770
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。