.CAB中的.EXE无法从Win7,IE8安装

时间:2012-12-17 03:26:39

标签: c++ windows-7 browser-plugin

我制作了一个浏览器插件,并尝试从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文件中。

请注意,代码中有[部署]段,我从MSDN获取,如果删除此段,它可以安装在Win7中,但是UAC弹出,我需要输入管理员密码。但是我制作的浏览器插件是针对每个用户的,我认为它不应该需要管理员权限。

更新 现在我发现IE只在从内网浏览页面时才请求管理员权限,否则,如果从网上浏览,它仍会请求管理员权限,所以我怀疑IE会强制使用管理员权限来执行挂钩安装.exe文件。

2 个答案:

答案 0 :(得分:0)

如果您的%EXTRACT_DIR%位于\ users \%user%\或任何子目录之外的任何位置,则需要管理员密码:ie。 PROGRAMFILES。

答案 1 :(得分:0)

您可能没有在 HKEY_CURRENT_USER 下注册插件,因为部署无法在Windows 7上正确弹出UAC弹出窗口。根据MSDN,您的插件需要在HKEY_CURRENT_USER下注册:{{ 1}}