NSIS制作Qt自定义界面安装包(三):禁默安装运行软件所需的运行环境(Vc_redist, bonjoursdk)

禁默安装运行软件所需的运行环境(Vc_redist, bonjoursdk)

思路:

        一般运行环境都支持禁默,软件包安装后会写入注册表。检测注册表是否有相关的环境注册表项,如果没有安装,存在略过。

查找运行环境版本号对应的注册表项

        找到运行环境安装包的版本号项,一般位于注册表中”HKLMSOFTWAREWOW6432Node”中,可以安装后通过版本号查询得到该注册表项,也可以使用工具对比安装前后的区别得到该注册表项。例如:vc_redist位于

SOFTWAREWOW6432NodeMicrosoftWindowsCurrentVersionUninstall

Bonjoursdk 位于SOFTWAREWOW6432NodeApple Inc.Bonjour中

由于依赖运行环境千差万别,下面将详细描述一般性的方法。下面以bonjoursdksetup.x64_3.0.0.10.exe 作为例子进行说明。

使用 Regshot建立快照A->全部注册表

Regshot下载地址

http://dx.198424.com/soft1/regshot.zip

NSIS制作Qt自定义界面安装包(三):禁默安装运行软件所需的运行环境(Vc_redist, bonjoursdk)

手动安装运行环境,默认下一步即可

NSIS制作Qt自定义界面安装包(三):禁默安装运行软件所需的运行环境(Vc_redist, bonjoursdk)

使用 regshot 建立快照B

NSIS制作Qt自定义界面安装包(三):禁默安装运行软件所需的运行环境(Vc_redist, bonjoursdk)

 

根据对比文件,运行regedit找到安装运行环境的版本号对应的项目

NSIS制作Qt自定义界面安装包(三):禁默安装运行软件所需的运行环境(Vc_redist, bonjoursdk)

NSIS制作Qt自定义界面安装包(三):禁默安装运行软件所需的运行环境(Vc_redist, bonjoursdk) 

最后再删除安装的运行环境,验证其正确性。

编写安装运行环境的NSIS脚本

NSIS 安装环境依赖的脚本

环境安装包解压到临时文件夹,检测安装包是否已经安装,如果没有使用禁默安装,代码如下:

注意此脚本必须在模板《vimeo-template.nsi》中修改,否则每次修改完成后会新生成的脚本被覆盖。

安装依赖运行环境增加安装进度

注意安装运行环境的进度假定为7%

修改NSIS脚本模板 vimeo-template.nsi

修改NsisScriptGenerate.py

安装进度是NsisScriptGenerate.py生成,所以必须修改此脚本。

修改后的代码NsisScriptGenerate如下:

文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树首页概览210101 人正在系统学习中

来源:彼岸津

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年10月2日
下一篇 2021年10月2日

相关推荐