当前位置:   article > 正文

NSIS 基于QT的自定义安装界面_qt+nsis

qt+nsis

前段时间在做安装程序时,需要自定义安装界面代替传统的打包工具制作的安装界面。毕竟打包工具制作的界面定制麻烦也比较丑。我们可以使用第三方界面库写安装程序,再在NSIS脚本中调用即可。

采用NSIS + QT 制作安装程序实际上就是使用QT制作安装程序,而NSIS仅仅将制作的安装程序打包成一个exe。

1.核心NSIS脚本
;这次是打包生成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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
2.NSIS简单使用
2.1 NSIS脚本编译以及编写

NISEdit 是NSIS脚本的可视化编辑器,[NSIS打包程序]https://blog.csdn.net/lfwh1517/article/details/78613453)

2.2 传递参数

使用NSIS脚本时,定义的变量可以通过命令行参数传递进去,传递形式“-D变量名=值”
例如传递上面脚本中的自定义变量名称:

makensis.exe /DPACK_DIR="E:\\Package\\Release_x86\\" -DTheOutFile="E:\\NimoStreamer.exe" NimoPC.nsi
  • 1
2.3 NSIS添加公司信息、版本信息
;!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"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
3.NSIS + QT制作的安装界面

在这里插入图片描述在这里插入图片描述

4.参考链接

[NSIS + QT 做安装卸载程序]https://blog.csdn.net/mqdChalali/article/details/52596770

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/112636
推荐阅读
相关标签
  

闽ICP备14008679号