Avatar billede iluka Nybegynder
14. september 2005 - 11:33 Der er 12 kommentarer

References til dll filer der går kold på andre maskiner

Hej

Jeg har problemer med nogle dll filer jeg refererer. Jeg har skrevet et program der udnytter DSO og ADODB, og for at gøre det er jeg nødt til at referere ADODB.dll, Interop.DSO.dll og Ineterop.POMInterfaces.dll.

Det virker upåklageligt, men når jeg builder og kopier til et andet system, vil programmet ikke starte.

Det skal nævnes at jeg bruger VS.net 2005 og .net 2.0.

I buildprocessen kopierers dll filerne automatisk til /bin/release/, så det lader til at filerne er tilgængelige for programmet.

Nogle ideer?
Avatar billede iluka Nybegynder
14. september 2005 - 12:21 #1
hmm jeg har lige kodet mig fra fra adodb, men det er ikke der hunden ligger begravet...
Avatar billede timelord Nybegynder
14. september 2005 - 14:04 #2
Mon ikke FrameWorket (2.0) skal installeres på de andre maskiner
Avatar billede iluka Nybegynder
14. september 2005 - 14:25 #3
det er der, korrekt version osv.
Avatar billede timelord Nybegynder
14. september 2005 - 15:25 #4
Er ADODB.dll, Interop.DSO.dll og Ineterop.POMInterfaces.dll registrerede på de andre maskiner?
Avatar billede smsng Nybegynder
15. september 2005 - 09:45 #5
Jeg tillader mig lige at følge samtalen :)
Avatar billede iluka Nybegynder
15. september 2005 - 12:29 #6
De er alle .net dll'er, ikke COM og kan derfor ikke registreres med regsrv32. Hvis man prøver med .net registrering (regasm), får man at vide at de ikke har et strongname, og derfor kan registeres. Det lyder dog som om det kunne være problemet, så hvis der er nogen der kan fortælle mig hvordan man registrerer .net dll'er, ville jeg blive glad...
Avatar billede spif2001 Nybegynder
15. september 2005 - 15:45 #7
Lidt skod løsning, men kan du ikke højreklikke på dll referencerne i dit project, vælge egenskaber og så sætte copy local til true?

Så bliver de kopieret med ind i dit debug / release directory og du kan shippe dem sammen med din app.

Burde godt nok ikke være nødvendigt, hvis de er en del af 2.0 frameworket....
Avatar billede iluka Nybegynder
16. september 2005 - 00:08 #8
Well det har jeg prøvet, og de bliver godt nok kopieret med... det løser dog ikke problemet. De er vist som udgangspunkt ikke en del af .net 2.0, hvilket er en grundlæggende del af problemet :/
Avatar billede spif2001 Nybegynder
16. september 2005 - 08:34 #9
hmmm...

Det burde virke - hvad er fejlen når programmet starter?
Avatar billede spif2001 Nybegynder
16. september 2005 - 08:39 #10
Avatar billede iluka Nybegynder
19. september 2005 - 16:07 #11
Fejlen når programmet starter er en grim dialogbox med: "myprogram has encountered a problem and needs to close... blah blah"

Jeg har installeret VS.net 2005 på systemet, og hvis man prøver at debugge får man følgende fejl:

{"Retrieving the COM class factory for component with CLSID {B492C386-0195-11D2-89BA-
00C04FB9898D} failed with HRESULT: 0x80040154(Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)))."}

Class not registered tyder jo på noget med at registrere de 2 dll filer, men jeg kan ikke hitte ud af det... ÆV!
Avatar billede spif2001 Nybegynder
20. september 2005 - 08:16 #12
Det lyder som om det er en COM dll du prøver at kalde. En dll der muligvis er lavet i C++. Prøv at læse denne artikel - kan være det kan hjælpe dig:

http://www.codeproject.com/dotnet/cominterop.asp
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester