NSIS安装包开发笔记(三):NSIS使用Qt做的安装界面制作安装包交互详解
前言
本文章开始讲解如何定制使用Qt开发安装界面的Nsis安装包只制作原理。
注意点
Qt用于做界面,逻辑可以先做,但是按钮的逻辑在 NSIS插件源码中将会是ui.调用,所以逻辑也会需要移植过去。
插件工程布局介绍
整体工程采用的是插件形式

Qt程序的入口
其实就是类似于dll调用,将Qt的调用放入到NSIS插件里面(笔者:msvc2017x32版本):


Qt程序与NSIS的交互:Qt调用NSIS
在Nsis中需要关联插件中(nsis插件代码)的函数.
$0~$9 和 R0~
R
0 R9 是 NSIS 中内置的变量,不用声明直接使用。
$0是回调好函数,临时存储地址:
Qt程序与NSIS的交互:NSIS设置Qt
插件中的NSISAPI函数,将安装路径设置到Qt中:


Qt程序与NSIS的交互:NSIS获取Qt设置的安装路径

Qt程序与NSIS的交互:NSIS通过 Qt参数执行不同函数
在Qt部分的代码中查看到执行该事件

在插件代码中查看到预定义的事件代码

在NSIS脚本中查看到该关键字

(补充说明:以 $ 开头的还有一些内置的表示路径或句柄等变量或常量,比如 HWNDPARENT、
HWNDPARENT
、PROGRAMFILES、INSTDIR、
INSTDIR
、EXEDIR、$WINDIR 等。)。
Demo
安装过程



开始菜单的最近安装

开始菜单对应文件夹

桌面快捷方式

上一篇:《
NSIS安装包开发笔记(二):NSIS使用NSIS+Qt界面制作安装包流程
》
下一篇:敬请期待…
若该文为原创文章,转载请注明原文出处
本文章博客地址:
https://
blog.csdn.net/qq2149793
6/article/details/116446926