禁默安装运行软件所需的运行环境(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
手动安装运行环境,默认下一步即可
使用 regshot 建立快照B
根据对比文件,运行regedit找到安装运行环境的版本 对应的项目
最后再删除安装的运行环境,验证其正确性。
编写安装运行环境的NSIS脚本
NSIS 安装环境依赖的脚本
环境安装包解压到临时文件夹,检测安装包是否已经安装,如果没有使用禁默安装,代码如下:
注意此脚本必须在模板《vimeo-template.nsi》中修改,否则每次修改完成后会新生成的脚本被覆盖。
安装依赖运行环境增加安装进度
注意安装运行环境的进度假定为7%
修改NSIS脚本模板 vimeo-template.nsi
修改NsisScriptGenerate.py
安装进度是NsisScriptGenerate.py生成,所以必须修改此脚本。
修改后的代码NsisScriptGenerate如下:
文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树首页概览210101 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!