NSIS问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NSIS问题相关的知识,希望对你有一定的参考价值。

你当前使用的nsis编译器 没有打开安装日志记录功能 这个问题怎么解决啊 做出来后 不能卸载 安装的文件 害的我只好用 inno了 功能好少啊

参考技术A NSIS 的功能一点也不少,只是官方版本默认没有开启安装日志功能,但是你可以在官方开源站点下载开启 log 支持的文件。因为用 NSIS 做安装程序一般都是自己手写卸载段,不像 Inno Setup 是全自动记录和创建卸载程序的。开启安装日志除了在安装目录生成一个 install.log 以外,没有进行任何其他操作。而 NSIS 中所谓的根据安装日志卸载,其实也只是一些爱好者写了一段宏,放在卸载段内用来读取该日志文件以删除程序安装时释放的文件,像注册表和文件夹还是需要自己写脚本来删除,所以谈不上完美。但是由于该文件是文本文件且没有加密,所以任何人都可以修改,很不安全。目前 99% 以上的 NSIS 使用者都是自己写卸载代码,没人用那玩意儿。也有极少数人自己在安装段内写安装日志,卸载段内从该文件读取列表来删除安装的文件。

关于 NSIS 如何开启安装日志可以参考我以前的回答:
http://zhidao.baidu.com/question/149395495.html本回答被提问者采纳
参考技术B 。。。。。。。。

NSIS打包Qt程序和Qt 安装程序的依赖,及若干问题

本文介绍,使用NSIS打包,nsis版本是v2.46。

安装nsis工具。

打开nsis菜单

技术图片

 

 

 选择可视化脚本编辑器,在选择  文件->新建脚本向导,

技术图片

 

 

 根据个人情况,一步一步填写进行

技术图片

 

 

 技术图片

 

 

 技术图片

 

 

 

技术图片

 

 

 技术图片

 

 

 技术图片

 

 

 如将目的目录改为:

技术图片

 

 

 技术图片

 

 

 技术图片

 

 

 完成。

保存脚本文件之后,点击NSIS菜单项的“编译脚本”,编译成功即生成了exe文件,一般文件和脚本在同一个文件夹中。

QT程序的依赖项:使用Qt工具。

技术图片

 

 

 cd 到windeployqt.exe所在文件夹

技术图片

 

 

 执行即可将依赖项添加到myapp文件夹。如果仍然缺少dll,则手动将该dll复制到exe所在目录。

另外,打包后,运行exe仍可能提示“This application failed to start because it could not find or load the Qt platform plugin”,这需要找到

 技术图片

 

 将此文件夹放到exe目录,有可能只需要其中的某些dll,无用的可删去。打包的时候也要带此文件夹。上文已经介绍了如何将文件放到指定文件夹。

以上是关于NSIS问题的主要内容,如果未能解决你的问题,请参考以下文章

NSIS Error错误问题

NSIS打包Qt程序和Qt 安装程序的依赖,及若干问题

如何要求用户使用 NSIS 卸载以前的版本

NSIS对话框单位造成的控件移位问题

在 CMake 中包含 NSIS 脚本

如何使用 nsis 获取多个显卡信息?