2009-11-23 23 views
7

Ho un controllo ActiveX e firmato con un certificato di prova ogni questo sta lavorando bene ma il problema è che il mio Internet Explorer mostra un brutto messaggioCome impostare ActiveX Control Nome

Il sito vuole correre seguente add-on: "Non disponibile" da "Nome controllo non disponibile", Se ti fidi del sito Web e del componente aggiuntivo e desideri consentirne l'esecuzione, fai clic qui ....

Perché il controllo il nome non è disponibile? Ho fatto questo controllo ActiveX in C# e hanno aggiunto l'attributo ComVisible ai miei AssemblyInfo.cs, ecco il codice

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

Si prega di darmi una mano?

risposta

0

Potrei sbagliarmi ma, se ricordo male, i nomi COM sono separati dagli attributi di assemblaggio normali. Una volta ho scritto un activex in vb.net e sono riuscito a vedere correttamente la descrizione e il titolo.

+0

puoi aiutarmi come impostare i nomi COM in C#? –

+0

qualche soluzione Cem ??? Sto aspettando? –

+0

Non ho più accesso a .net tools, quindi non posso aiutare di più su questo argomento. Controlla gli attributi o dalla finestra di dialogo delle proprietà della classe, non riesco a ricordare i dettagli, mi dispiace per quello. –

3

Stai firmando il tuo controllo? I controlli Active X devono essere firmati e la Information Band ottiene tali informazioni dalla firma. This article è davvero vecchio (1996), ma dovrebbe farti andare nella giusta direzione.

Modifiche:

si potrebbe aggiungere il vostro controllo della lista pre-approvato come parte della vostra installazione, vedere questo document.

Assicurarsi inoltre di registrare uno ProgID appropriato.

Edits2:

In realtà, dal fare qualche lettura sembra che le estensioni gestite caricare sempre la fase di esecuzione, in modo da IE vede come il runtime. Potrebbe essere lo stesso problema con Active X.

+0

sì ho firmato il controllo ActiveX .. in realtà il file .cab è anche firmato e mostra il nome correttamente .. ma quando tenta di eseguirlo dare questo prompt .. –

+0

Sì, ho passato questo documento e ho dato il progID così come la firma del codice e altre cose in questo documento ... ma il file cab sta lavorando file, e sta mostrando il nome correttamente ... ma quando chiede il permesso di esecuzione .. il nome svanisce .. ?? Ho appena creato un controllo ActiveX in MFC. sta mostrando il suo nome correttamente .. ma non so ancora come farlo in C#. come ho scritto quasi tutto il codice in C# e funziona bene, tranne il problema del nome ... –

1

Salve il trucco è necessario firmare non solo il file .cab di ActiveX ma anche i file .dll e .ocx che contiene. vedi here

Problemi correlati