如何设置ActiveX控件名称

7

我有一个ActiveX控件,并用测试证书签名了它,一切都正常工作,但问题是我的Internet Explorer显示了一个丑陋的消息

网站想要运行以下插件:'不可用' 来自 '控件名称不可用'。如果您信任该网站和插件并想允许其运行,请单击此处...

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

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")]

请帮我一下?

3个回答

3
你是否签署了控件?Active X控件必须签署,信息栏从签名中获取该信息。这篇文章非常古老(1996年),但应该能让您朝着正确的方向前进。
编辑:
您可以将控件添加到预批准列表中作为安装的一部分,请参阅此文档
还要确保注册适当的ProgID
编辑2:
实际上,从一些阅读中得知,托管扩展始终加载运行时,因此IE将其视为运行时。Active X可能存在相同的问题。

是的,我已经签署了ActiveX控件..实际上.cab文件也已经签署并正确显示名称..但当它尝试运行时会出现此提示.. - Muhammad Ummar
是的,我已经阅读了这份文档,并在其中提供了progID、代码签名和其他相关内容...但是cab文件是可用的,并且它正确地显示了名称...但当它要求运行权限时...它的名称消失了..?? 我刚刚在MFC中制作了一个ActiveX控件。它正确显示其名称.. 但我仍然不知道如何在C#中实现它。由于我已经写了几乎所有的C#代码,并且它正常工作,除了这个名称问题... - Muhammad Ummar

1

嗨,诀窍在于您需要签署不仅是ActiveX .cab文件,还包括其中包含的.dll和.ocx文件。请参见此处


0

我可能错了,但如果我记得正确的话,COM名称与常规程序集属性是分开的。曾经我在VB.NET中编写了一个ActiveX控件,并且能够正确地看到描述和标题。


请问您能帮我解决如何在C#中设置COM名称的问题吗? - Muhammad Ummar
我不再有访问 .net 工具的权限,所以我无法在这个问题上提供更多帮助。请检查属性 <COMName something> 或从类属性对话框中查找,我无法记住细节,对此感到抱歉。 - Cem Kalyoncu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接