Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.

[C#] Live messenger add-in probleem

Pagina: 1
Acties:

  • martennis
  • Registratie: Juli 2005
  • Laatst online: 06-11 21:06
Hallo allemaal,

Ik vond vorige week een tutorial voor het schrijven van een live messenger plugin met managed code:
Tutorial
Vanavond eens rustig mee aan de slag een basic projectje te maken..

Het coden is geen probleem, totdat ik de plugin wil toevoegen aan messenger. Ik krijg dan de volgende foutmelding:
De invoegtoepassing MyFirstAddin.MyClass.dll kan niet worden ingeschakkeld.80004003

Het project compileert zonder fouten en voldoet (qua naam en implementatie van de IMessengerAddIn interface) aan de eisen van het plugin systeem.

Heeft iemand van jullie ervaring hiermee, of kan iemand bevestingen dat het plugin systeem niet meer werkt?

Mijn configuratie:
VS2008
Vista SP1
Target Framework: 3.5 en 2.0 (beide werken niet)

bvd

  • Depress
  • Registratie: Mei 2005
  • Laatst online: 11-11 11:26
HEb je de code al eens gegoogled of in de Microsoft Knowledge Database ingevoerd? Het leuke namelijk is dat dit een general error code is. Deze kan overal in je dll zitten.

Als je dan verder zoekt in de MKB, vind je deze link:
INFO: Translating Automation Errors for VB/VBA (Long)

Daar staat in dat het een Invalid Pointer is. Waarschijnlijk gebruik je namespaces die niet ondersteund worden. Want je kunt niet aan een unsigned dll zomaar alle namespaces hangen, dat kun je hier lezen:
http://forum.mess.be/inde...8616&mode=threaded&start=

[ Voor 74% gewijzigd door Depress op 18-09-2008 10:38 ]


  • martennis
  • Registratie: Juli 2005
  • Laatst online: 06-11 21:06
Klopt, die info had ik ook gevonden.
Wat ik kan proberen is de stappen uit je tweede link uitvoeren en kijken of het dan werkt.
Maar dan is het nog wel raar dat de meeste mensen (die reageren op de diverse tutorials) het zonder deze acties voor elkaar kunnen krijgen.

  • Depress
  • Registratie: Mei 2005
  • Laatst online: 11-11 11:26
Heb je ook al eens een blank plugin geprobeerd? Die basis functionaliteit heeft en gewoon zou werken. Zonder speciale statements. Kan zijn dat het probleem ergens in je config zit.

  • martennis
  • Registratie: Juli 2005
  • Laatst online: 06-11 21:06
nja, wat ik gedaan heb is gewoon die tutorial namaken om te kijken of het werkt, dus er staan helemaal geen rare statements in. Het enige dat ik doe is het initialiseren van de plugin met in die functie een messagebox.

ik zit nu op werk, dus zal vanavond even proberen wat je eerder voorstelde.

  • martennis
  • Registratie: Juli 2005
  • Laatst online: 06-11 21:06
goed, even een update..

Ondanks een ietwat sociaal drukke dag toch nog wat kunnen proberen.
Ik heb de dll gesigned en daarna met de gacutil in de global assembly cache gezet. Hierna de addin geprobeerd in messenger te laden, maar geen geluk: ik krijg rustig weer een 80004003 error.

Wat ik nog niet heb gedaan is, na het registreren van de dll met de gacutil, eerst messenger afsluiten en opnieuw opstarten. Zou dit kunnen helpen? Ik vermoed zelf van wel. Vanavond maar even proberen.

Een tweede ding dat me opviel: als ik de dll registreer en direct weer unregister (gacutil /u), meldt de tool dat er 0 namespaces / dlls zijn verwijderd van de cache. Ondanks dat bij het registreren netjes de dll in de cache komt te staan. Moet ik me hier zorgen om maken?

is er trouwens een manier om dit te kunnen debuggen?
In het topic van de tweede link die je stuurde, is iemand die op één of andere manier kon zien waardoor zijn plugin deze fout gooide..


Update:
Helaas heeft mijn vermoeden me in de steek gelaten, want ook dat hielp niet..

Update 2
Heb nu iets anders geprobeerd:
Project builden > gacutil /i > WLM herstarten > het project aan het proces attachen > de dll toevoegen aan WLM
Dit heeft enigsinds nut gehad. Ik krijg nu een popup (in VS2008) op het moment dat ik de dll wil laden. De fout is als volgt:

First-chance exception at 0x0c8201df in msnmsgr.exe: 0xC0000005: Access violation reading location 0x00000000.

Nou is het leuke dat ook déze fout een algemene fout is :(
Iemand een idee?

Nog een update
Volgende brain fart: kan het zijn dat een dll van messenger zelf niet in de global cache staat, waardoor deze geen rechten heeft de plugin te laden? Dat zou opzich de Access Violation error kunnen verklaren...

[ Voor 40% gewijzigd door martennis op 19-09-2008 22:16 ]


  • martennis
  • Registratie: Juli 2005
  • Laatst online: 06-11 21:06
Ok, het is gelukt!!
Wat ik de eerste keer had gedaan was een .NET 3.5 project maken en die later (geprobeerd) naar een .NET 2.0 project om te zetten via de project properties... schijnbaar gaat dit niet helemaal goed.

Ik had een nieuw project aangemaakt in dezelfde solution, voor versie 2.0 ditmaal, en het werkt in één keer!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

slightly offtopic: hoe sign je die dll?

Going for adventure, lots of sun and a convertible! | GMT-8


  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 16-11 15:20

Sebazzz

3dp

Snake schreef op vrijdag 19 september 2008 @ 22:42:
slightly offtopic: hoe sign je die dll?
Met onder andere signtool uit de Windows SDK. Als je in Windows Powershell een unsigned script probeert te draaien zegt hij hoe je het signed kan maken, maar het kan op dezelfde manier voor executables en libraries.

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
In Visual Studio kun je gewoon bij je project properties bij "Signing" kiezen met welke key je wilt signen ( Of je kunt VS een key laten genereren )

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”

Pagina: 1