admin管理员组文章数量:1571360
1. 检测当前设备是否安装了Flash插件
/******************************
* 检查设备是否安装Flash插件 *
* 定义函数块,用于检测设备注册表是否存在 *
******************************/
Function IsFlashInstalled
Push $R1
ClearErrors
; 通过注册表中的SOFTWARE\Macromedia\FlashPlayerPepper目录,查找UninstallerPath的键是否存在
ReadRegStr $R1 HKLM "SOFTWARE\Macromedia\FlashPlayerPepper" "UninstallerPath"
; 如果报错,说明不存在,给系统变量赋值 1
IfErrors lbl_na
StrCpy $R1 1
Goto lbl_end
; 如果存在就给系统变量赋值0
lbl_na:
StrCpy $R1 0
lbl_end:
Exch $R1
FunctionEnd
此处检测的为:Adobe Flash Player PPAPPI 谷歌浏览器版
如需检测 IE 或 火狐 浏览器,请按照如下信息修改:
谷歌浏览器:“SOFTWARE\Macromedia\FlashPlayerPepper” "UninstallerPath"
IE浏览器:“SOFTWARE\Macromedia\FlashPlayerActiveX” “PlayerPath”
火狐浏览器:“SOFTWARE\Macromedia\FlashPlayerPlugin” “PlayerPath”
2. 调用检测函数进行判定
/***********************************
* 脚本初始化函数
***********************************/
Function .onInit
Call IsFlashInstalled
Pop $R1
; 判定设备中是否存在Flash插件
${If} $R1 == 0
MessageBox MB_OKCANCEL|MB_ICONSTOP "系统安装需要以下插件:$\r$\n$\r$\n Adobe Flash Player PPAPI 29+ $\r$\n$\r$\n点击【确定】立即安装,点击【取消】结束安装。" IDYES Install IDCANCEL Exit
; 当点击确定按钮,执行该部分
Install:
/*********** 此处可以添加安装部分代码 ***********/
; 点击取消按钮,执行该部分
Exit:
quit
${EndIf}
; 其他部分代码
FunctionEnd
在初始化函数中,利用Call指令调用IsFlashInstalled检测函数,判定是否安装指定的插件
本方式不仅可以判定 Flash 插件,还可以根据自己的需求,确定指定程序或插件的注册表状态值,用于程序判定,从而实现检测效果。
版权声明:本文标题:NSIS脚本检测和安装Adobe Flash Player 插件 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1727696454a1126028.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论