我们有一个仍在运行的旧 Web 应用程序,它需要 Internet Explorer 自动下载 .dll 文件才能启动该程序。这是一个面向学生的 Web 基础测试程序。
当我们使用 IE7 时,允许下载的组策略运行良好,但最近我们决定升级到 IE8,现在它不允许 dll 正确下载。
它带着一条黄丝带,上面写着:
编辑(添加此项以澄清):“为了帮助保护您的安全,Internet Explorer 阻止此网站将文件下载到您的计算机。单击此处获取选项...”
我已经尝试了所有方法,甚至禁用了 IE8 上的所有安全功能,但黄色丝带仍然出现并显示已禁止下载该文件。
我已经研究了这个问题很久了。我想知道 IE8 是否默认无论如何都不允许自动下载 dll 文件,换句话说你无法更改它。
回答:经过几个小时的漫无目的的搜索,我找到了答案
托管 WebBrowser 控件的应用程序可以利用对文件下载的更严格限制。您可以通过安全功能控制注册表项 (FEATURE_RESTRICT_FILEDOWNLOAD) 管理这些限制。Internet Explorer (Iexplore.exe) 需要在此功能控制下运行才能禁用该功能,这可以通过设置以下注册表项来实现:
HKEY_LOCAL_MACHINE(或 HKEY_CURRENT_USER)> SOFTWARE > Microsoft > Internet Explorer > Main > FeatureControl > FEATURE_RESTRICT_FILEDOWNLOAD > iexplore.exe = 0x00000000
我创建了一个新的 DWORD 注册项名称 iexplore.exe 并将其设置为零。
更多信息请参见以下链接:
http://msdn.microsoft.com/en-us/library/dd565669(VS.85).aspx
答案1
您看到的警告文本会很有帮助。如果我不得不猜测,我会说您正在尝试下载未签名的 ActiveX 控件,并且默认情况下所有 IE 安全区域都不允许自动下载此类未签名的控件。(我相信“受信任的站点”区域会提示未签名的控件,但没有任何区域允许自动下载未签名的控件。)
使用客户端计算机信任的证书对 ActiveX 控件进行签名,或者使用组策略改变浏览器的行为以允许下载未签名的代码。