【问题标题】:ActiveX Control Name is not availableActiveX 控件名称不可用
【发布时间】:2011-09-09 00:48:25
【问题描述】:

ActiveX 信息 - 这个 ActiveX 控件是

  • 使用 C#、VS 2008、.Net Framework 3.5 实现
  • 使用有效的代码签名证书进行数字签名
  • 使用 VS 部署项目安装并在客户端注册

问题 - 我们的一个网页加载了这个 ActiveX 控件,但是对于第一次访问者,IE(我正在使用 IE9)提示

This webpage wants to run the following add-on: 'Control name is not available' from 'Not Available'

允许之后,然后进入“工具”=>“管理加载项”,它现在有正确的控件名称和发布者。


寻求 - 我正在寻找解决方案

  • 在警告提示中显示正确的信息,控件名称和发布者名称,
  • 完全删除警告

研究过的解决方案 - 我找到了一些建议的解决方案,但没有一个能完整描述

  • MDSN 上通过 COM Shim 方法显示正确的名称
    • 性能问题
    • 虽然我确实下载了 COM Shin Wizard,但创建后缺少信息
  • 通过在安装过程中将 CLSID 和域设置为注册表中的批准域来消除警告
    • 不确定要创建/更新哪个注册表,需要更具体的注册表值
  • How to Set ActiveX Control Name 在 StackOverflow 上
    • 赏金由我设置,但可能问题太老了,没有引起注意。
    • 一旦旧问题过期,我将开始悬赏这个问题。

感谢所有帮助

【问题讨论】:

  • 听起来您的控件的 DLL 未正确进行 Authenticode 签名。您是否有演示此问题的公共 URL?另请记住,出于可靠性和性能原因,不建议使用 .NET 编写 ActiveX 控件(或其他 IE 可扩展性)。

标签: c# .net asp.net .net-3.5 activex


【解决方案1】:

通过加入预先批准的列表来解决问题

将您的控制权放在 预先批准的清单,你需要写 控件的 CLSID 到 以下注册表位置。

HKEY_LOCAL_MACHINE

软件

微软

窗户

当前版本

分机

预先批准

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多