C# 如何设置ActiveX控件名

C# 如何设置ActiveX控件名,c#,.net,internet-explorer,activex,C#,.net,Internet Explorer,Activex,我有一个ActiveX控件,并用测试证书对其进行了签名,但问题是我的internet explorer显示了一条丑陋的消息 该网站希望运行以下加载项:“控件名称不可用”中的“不可用”,如果您信任该网站和加载项并希望允许其运行,请单击此处 为什么控件名不可用?我在C#中创建了这个ActiveX控件,并将属性ComVisible添加到我的assemblyInfo.cs中,下面是代码 using System.Reflection; using System.Runtime.CompilerServi

我有一个ActiveX控件,并用测试证书对其进行了签名,但问题是我的internet explorer显示了一条丑陋的消息

该网站希望运行以下加载项:“控件名称不可用”中的“不可用”,如果您信任该网站和加载项并希望允许其运行,请单击此处

为什么控件名不可用?我在C#中创建了这个ActiveX控件,并将属性ComVisible添加到我的assemblyInfo.cs中,下面是代码

using System.Reflection;
using System.Runtime.CompilerServices;
using System.Security.Permissions;
using System.Runtime.InteropServices;
//
// General Information about an assembly is controlled through the following 
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
//
[assembly: System.Runtime.InteropServices.ComVisible(true)]
[assembly: AssemblyTitle("My ActiveX Control")]
[assembly: AssemblyDescription("My ActiveX Control Description")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("CompanyXYZ")]
[assembly: AssemblyProduct("My ActiveX Control")]
[assembly: AssemblyCopyright("2009")]
[assembly: AssemblyTrademark("CompanyXYZ")]
[assembly: AssemblyCulture("")]     

//
// Version information for an assembly consists of the following four values:
//
//      Major Version
//      Minor Version 
//      Build Number
//      Revision
//
// You can specify all the values or you can default the Revision and Build Numbers 
// by using the '*' as shown below:

[assembly: AssemblyVersion("1.0.0.1")]

请帮助我?

我可能错了,但如果我没有记错,COM名称与常规程序集属性是分开的。一旦我在vb.net中编写了activex,并且能够正确地查看描述和标题。

您是否对控件进行了签名?必须对活动X控件进行签名,并且信息带从签名中获取该信息。确实很老(1996年),但应该让你走在正确的方向上

编辑:

您可以将控件添加到预批准列表中作为安装的一部分,请参见此

还要确保注册一个合适的

编辑2:


实际上,通过阅读,托管扩展似乎总是加载运行时,因此IE将其视为运行时。Active X也可能存在同样的问题。

嗨,关键是您不仅需要对ActiveX.cab文件进行签名,还需要对其包含的.dll和.ocx文件进行签名。请参见

您能帮助我如何在C#中设置COM名称吗?我再也无法访问.net工具,因此我无法在这方面提供更多帮助。检查属性或从“类属性”对话框中,我记不起详细信息,对此表示抱歉。是的,我已签署ActiveX控件。。实际上,.cab文件也已签名,并且正确显示了名称。。但是当它试图运行它时,给出这个提示..是的,我已经阅读了这个文档,并在这个文档中给出了progID以及代码签名和其他内容。。。但是cab文件是工作文件,它正确地显示了名称。。。但是当它请求运行权限时。。它的名字消失了。。??我刚刚用MFC制作了一个ActiveX控件。它正确地显示了它的名称。。但我还是不知道怎么用C。因为我已经用C#写了几乎所有的代码,而且它工作得很好,除了这个名字问题。。。