我有一个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")]
请帮帮我吗?
答案 0 :(得分:3)
编辑:
您可以将控件添加到预先批准的列表作为安装的一部分,请参阅此document。
同时确保注册适当的ProgID。
Edits2:
实际上,从进行一些阅读看来,托管扩展似乎总是加载运行时,因此IE将其视为运行时。可能与Active X存在同样的问题。
答案 1 :(得分:1)
诀窍是你需要不仅要签署ActiveX .cab文件,还要签署它包含的.dll和.ocx文件。见here
答案 2 :(得分:0)
我可能错了,但如果我没记错的话,COM名称与常规程序集属性是分开的。一旦我在vb.net中编写了activex并且能够正确地看到描述和标题。