我制作了一个浏览器插件并尝试从 IE 中的 .cab 文件部署它。它是按用户安装的。我的问题是在 Windows XP 中,安装在不同的用户中运行良好。但是,在 Windows 7 中,当打开包含 .cab 的页面时,会下载并解压 .cab 文件,但是当我单击“安装”按钮时,没有任何反应。
这是 .inf 文件:
[version]
Signature="$CHICAGO$"
AdvancedINF=2.0
[Deployment]
InstallScope=user
[Setup Hooks]
hook1=hook1
[hook1]
run=%EXTRACT_DIR%\MyPlugin.exe
“MyPlugin.exe”也在 .cab 文件中。
注意代码中有一个 [Deployment] 段,我是从MSDN得到的,如果删除这个段,它可以安装在 Win7 中,但是 UAC 弹出,我需要输入管理员密码。但是我制作的浏览器插件是针对每个用户的,我认为这里不需要管理员权限。
更新: 现在我发现IE只在从内网浏览页面时才请求管理员权限,否则如果从互联网浏览它仍然会请求管理员权限,所以我怀疑IE会强制使用管理员权限执行钩子安装.exe 文件。