2009-11-23 12 views
7

tengo un control ActiveX y he firmado con un certificado de prueba cada esto está funcionando bien pero el problema es que mi Internet Explorer muestra un mensaje de feaCómo establecer ActiveX Control Nombre

La página web quiere correr siguiente complemento: 'No disponible' de 'Nombre de control no disponible', si confía en el sitio web y en el complemento y desea permitir que se ejecute, haga clic aquí ...

Por qué el control nombre no está disponible? He hecho este control ActiveX en C# y he añadido el atributo ComVisible a mis AssemblyInfo.cs, aquí está el código

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

por favor me ayude?

Respuesta

0

Podría estar equivocado, pero si recuerdo correctamente, los nombres COM están separados de los atributos de ensamblaje normales. Una vez que escribí un activex en vb.net y pude ver la descripción y el título correctamente.

+0

¿me puede ayudar por favor cómo configurar los nombres COM en C#? –

+0

cualquier solución Cem ??? ¿Estoy esperando? –

+0

Ya no tengo acceso a las herramientas .net, así que no puedo ayudar más en este tema. Compruebe los atributos o desde el cuadro de diálogo de propiedades de la clase, no recuerdo los detalles, lo siento por eso. –

3

¿Estás firmando tu control? Los controles Active X deben estar firmados, y la Banda de información obtiene esa información de la firma. This article es realmente viejo (1996), pero debería hacerlo avanzar en la dirección correcta.

ediciones:

se puede inscribir su control de la lista previamente aprobada como parte de su instalación, por ver esto document.

También asegúrese de registrar un ProgID apropiado.

Edits2:

En realidad, desde hace algún tiempo leyendo parece que extensiones administradas siempre se carga el tiempo de ejecución, por lo que IE ve como el tiempo de ejecución. Podría ser el mismo problema con Active X.

+0

sí, he firmado el control ActiveX ... en realidad, el archivo .cab también está firmado y muestra el nombre correctamente ... pero cuando intenta ejecutarlo, indique este mensaje ... –

+0

Sí, he revisado este documento y le he dado el ProgID, así como la firma de código y otras cosas en este documento ... pero el archivo cab está funcionando, y está mostrando el nombre correctamente ... pero cuando solicita el permiso de ejecución ... su nombre desaparece ... ?? Acabo de hacer un control ActiveX en MFC. está mostrando su nombre correctamente ... pero todavía no sé cómo hacerlo en C#. como he escrito casi todo el código en C# y está funcionando bien, excepto este problema de nombre ... –

1

Hola, el truco es que necesita firmar no solo el archivo .cab de ActiveX, sino también los archivos .dll y .ocx que contiene. vea here

Cuestiones relacionadas