welf
Goto Top

NET 2.00 COM Registrierungsproblem Automatisierungsfehler minus 2146232576(80131700)

Wir haben eine Net 2.00 DLL erstellt, die über COM+ angesprochen wird. Installation hat auf mehreren Rechnern ohne Probleme funktioniert. Bei 2 Rechnern müssen wir einen Fehler gemacht haben, so dass keine COM+ DLL's mehr ausführbar sind(auch unsere simple Testapplikation läuft nicht mehr) Es erscheint bei Funktionsaufruf die Fehlermeldung: Automatisierungsfehler -2146232576(80131700).

Installationsbatch:

regasm wnhtelematik.dll /u
regasm c:\wnhtelematik\wnhtelematik.dll /tlb:c:\wnhtelematik\wnhtelematik.tlb
gacutil /i wnhtelematik.dll
pause

Wir haben schon:
- Alle von uns installierten DLL's deinstalliert (regasm wnhtelematik.dll /u)
- .NET Repariert

Gibt es einen Lösungsansatz?

Content-Key: 83875

Url: https://administrator.de/contentid/83875

Printed on: April 27, 2024 at 07:04 o'clock

Member: misterdemeanor
misterdemeanor Mar 25, 2008 at 16:56:50 (UTC)
Goto Top
Hallo welf,

regasm wnhtelematik.dll /u
regasm c:\wnhtelematik\wnhtelematik.dll /tlb:c:\wnhtelematik\wnhtelematik.tlb

mir ist aufgefallen das Ihr hier eure Assemblyinformationen erstmal aus der Registry entfernt bevor Ihr eine neue Version "installiert". Also kann man davon ausgehen das auf einem Rechner diese Batch mehrfach ausgeführt wurde...(?)
Allerdings wird dann auch mehrfach
gacutil /i wnhtelematik.dll
ausgeführt.
Da möchte ich Dir einen Satz aus der MSDN zum gacutil.exe Tool zitieren:
Wenn Sie Gacutil.exe für die eigentliche Produktinstallation einsetzen, verwenden Sie die
Optionen, die die Verweiszählung unterstützen.
U.U. liegt das Problem schon hier.

Ich würde beim ablegen der Assembly im Cache (gacutil /i) entweder noch den Schalter /f hinzufügen, oder vorher mit
gacutil /u wnhtelematik.dll
alle Versionen der Assembly deinstallieren.

Nun habe ich noch ein paar Fragen an Dich:
  1. Von welcher(n) Anwendung(en)-->COM-Client(s) greift Ihr auf die Assembly zu? (z.B. Word oder Visual C++ 6)?
  2. Es kann also wirklich keine COM-dll verwendet werden? Oder nur eure .Net Assemblys im GAC?
  3. Du schriebst "beim Funktionsaufruf erscheint der Fehler". Also eine Funktion einer im COM-Client instanzierten Klasse eurer Assembly?

BG, Felix -misterdemeanor-