INTERFACCIA NON REGISTRATA

lunedì 23 ottobre 2006 - 16.55

percy86 Profilo | Newbie

Buongiorno a tutti.

Sono finalmente riuscito, dopo mille peripezie, a terminare lo sviluppo
della mia bella applicazione in VB.NET. Vorrei iniziare con la
distribuzione, ma mi si presenta il seguente problema.

Prima ho provato a copincollare l'eseguibile su un altro pc, fornito di
ambiente di sviluppo, facendo attenzione a non dimenticare le dll, che
ho messo nella stessa cartella dell'eseguibile. Tutto funzionava alla
grande.

Poi ho provato a fare la stessa identica cosa su un altro pc, privo di
ambiente di sviluppo, ma quando l'applicazione richiamava alcune dll
create da me, ecco cosa mi compariva.

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.Runtime.InteropServices.COMException (0x80040154): Interfaccia
non registrata. (Exception from HRESULT: 0x80040154
(REGDB_E_CLASSNOTREG))
at
Microsoft.VisualBasic.CompilerServices.Symbols.Container.InvokeMethod(Method
TargetProcedure, Object[] Arguments, Boolean[] CopyBack, BindingFlags
Flags)
at
Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateGet(Object
Instance, Type Type, String MemberName, Object[] Arguments, String[]
ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack)
at GestioneDocumentazione.frmMain.CaricaForm(Object& objObject,
Form& frmForm, String sName)
at GestioneDocumentazione.frmMain.lblComunicazione_Click(Object
sender, EventArgs e)
at System.Windows.Forms.MenuItem.OnClick(EventArgs e)
at System.Windows.Forms.MenuItem.MenuItemData.Execute()
at System.Windows.Forms.Command.Invoke()
at System.Windows.Forms.Command.DispatchID(Int32 id)
at System.Windows.Forms.Control.WmCommand(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ToolBar.WndProc(Message& m)
at
System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&
m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32
msg, IntPtr wparam, IntPtr lparam)

Al che ho pensato che fosse un problema di registrazione delle dll,
quindi ho creato un pacchetto di installazione dell'eseguibile.
Teoricamente, in questo modo, l'installazione avrebbe dovuto registrare
automaticamente tutte le dll. Ho provato a farlo girare sul pc su cui
ho sviluppato l'applicazione e, incredibilmente, anche lì ha iniziato
a comparire lo stesso identico errore.

Ho provato a registrare manualmente le dll, ma per ogni libreria mi
compariva "Nome.dll è stato caricato, ma il punto di ingresso
DllRegisterServer non è stato trovato. Questo file non può essere
registrato."

Insomma, cosa vuole questa applicazione per funzionare?

Sottolineo che l'errore compare solo ed esclusivamente quando richiamo
delle specifiche dll da me create (Risorse.dll, DistinteBase.dll,
Ordini.dll), mentre quando ne richiamo altre, siano esse create da me o
fornite dall'ambiente di sviluppo, tutto funziona.

Grazie in anticipo a chi avrà abbastanza bontà d'animo per
rispondermi!
Cristian

freeteo Profilo | Guru

ciao,
ma quelle dll che ti danno errore, hai provato a vedere se percaso fai riferimento a qualche ocx che non è stato registrato (nella macchina dove da errore)?
Eventualmente controlla la gerarchia delle librerie che hai tu (premendo F2 o cmq nella visualizzazione classi riesci a vedere tutto) che non faccia riferimento a qualche OCX che dove ti da errore non risulta registrato...
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

percy86 Profilo | Newbie

Sembra essere tutto a posto lì dentro, e ho provato a registrare manualmente tutte le dll che mi vengono elencate nel messaggio di errore ma per tutte il regsvr32 non trova il punto d'ingresso. Inizio a disperare, sono settimane che sono bloccato per colpa di questo problema.

freeteo Profilo | Guru

ciao,
non devi registrare le dll che sono generate con il framework, è fatto apposta per non essere registrato come com
Devi registrare eventuali librerie COM (quindi OCX o DLL) ma che sono state referenziate nelle lib che ti dice vanno in errore, prova a controllare perche0 credo proprio sia quello li il problema, altrimenti non saprei...
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5