NSIS脚本检测和安装Adobe Flash Player 插件

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 插件,还可以根据自己的需求,确定指定程序或插件的注册表状态值,用于程序判定,从而实现检测效果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

举个栗子の不容易

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值