Registrazione Dll

giovedì 23 dicembre 2004 - 17.03

maurizio79 Profilo | Junior Member

Ciao a tutti.
Ho realizzato un componente COM in Vb.Net, per poterlo usare da Visual FoxPro, e sulla mia macchina (dove è stato sviluppato) funziona alla perfezione.
Sto facendo la prima prova di distribuzione con un Pc appena formattato, con Win98+Framework 1.1+Ie6 Sp1 e Runtime Visual Fox.
Ho copiato la Dll nella cartella Windows\System32, ma quando lancio "Regsvr32 libreria.dll", mi compare questo messaggio:
"Libreria.dll was loaded but the DllRegisterServer entry point was not found. DllRegisterServer may not be exported, or a corrupt version of libreria.dll may be in memory. Consider using PView to detect and remove
it."

Inutile dire che la libreria non funziona. Qualcuno saprebbe aiutarmi e/o dirmi dove sbaglio?
Grazie e buon Natale a tutti.
Maurizio.

Brainkiller Profilo | Guru

Ciao Maurizio,
hai le idee un po' confuse. Allora un componente DLL COM è creato con codice unmanaged cioè quindi con Visual C++ o con VB 6.0. Quello che puoi creare con VB.NET o C# è semplicemente un Assembly .NET (che è un componente managed) e non viene registrato con regsvr32.exe ma è sufficiente copiarlo nella cartella dell'applicazione o installarlo nella GAC (Global Assembly Cache).

ciao
david

maurizio79 Profilo | Junior Member

Nel frattempo avevo risolto, usando Regasm e copiando il file nella cartella dell' applicazione.
In effetti, però, la Dll che ho creato dovrebbe venire utilizzata da più di un programma sullo stesso Pc. Farne tante copie per ogni applicazione installata porterebbe ad inevitabili conflitti di versione ogni volta che si aggiorna qualcosa.
Inoltre quando compilo la Dll sul mio Pc, ovvero quello dove sto sviluppando anche l' applicazione scritta in FoxPro, questa viene automaticamente registrata e resa disponibile a tutto il sistema, senza crearne copie da nessuna parte. Come è possibile che questo sia possibile sul mio Pc ma non su quello del futuro cliente?

Grazie ancora per la collaborazione e buon anno. Maurizio.

Brainkiller Profilo | Guru

Infatti come ti dicevo in quel caso è utile installarla nella GAC che è un repository centrale dove vengono messi tutti gli Assemblies (.NET) che vengono utilizzati da più applicazioni.
Il Framework inoltre ti offre anche il versioning quindi puoi usare una versione oppure un'altra di una stessa DLL.

ciao
david
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