Kann DLL auf Server 2012 nicht registrieren

14617
Clint Davis

Wir haben eine alte klassische ASP-Website, die ich auf einer neuen Server 2012-Box hosten möchte. Es verwendet eine DLL, die inhouse auf VB6 entwickelt wurde.

Ich habe die Installationsdatei kopiert und es ist ein Fehler aufgetreten. Ich versuche, die DLL manuell mit "regsvr32 pathToDll \ theDll.dll" zu registrieren, und es kommt wieder mit dem Fehler 0x80004005. Google schlägt vor, den Befehl von einer erhöhten Eingabeaufforderung aus auszuführen. Also mache ich und ich bekomme den gleichen Fehler. Ich habe auch versucht, den gleichen Befehl aus dem SYSWOW64-Verzeichnis auszuführen, und ich bekomme den gleichen Fehler.

Durch Googeln finde ich auch, dass es an fehlenden Abhängigkeiten liegen könnte. Ich habe Dependency Walker benutzt und es fehlten ein paar Dinge. So fand ich heraus, dass ich die VB6-Laufzeitdateien installieren und einige Funktionen aktivieren musste. Alle Abhängigkeiten wurden aufgelöst. Also habe ich versucht, die DLL neu zu registrieren und es gibt immer noch den gleichen Fehler.

Irgendwelche Ideen? Ich weiß, es ist eine 32-Bit-DLL auf einer 64-Bit-Maschine, aber es sollte sich zumindest registrieren.

1
Nachdem Sie die Abhängigkeiten installiert haben, haben Sie die SysWow64-Version von regsvr verwendet? Scott Chamberlain vor 10 Jahren 0
@ ScottChamberlain Ja, das habe ich getan. Gibt immer noch den 0x80004005 Fehler. Clint Davis vor 10 Jahren 0

1 Antwort auf die Frage

1
Clint Davis

Ok, nach längerem Suchen habe ich durch Dependency Walker herausgefunden, dass die DLL die API-MS-WIN-CORE-SYNCH-L1-1-0.DLL durch die Kette anderer DLLs referenziert.

Basierend auf diesen Informationen von Microsoft sieht es nicht so aus, als wäre dies kompatibel. Es scheint, dass ich die DLL neu kompilieren müsste, damit diese Arbeit die Verweise ändert.

Lösung: Ich werde eine VM für diese ältere Anwendung einrichten.

Vergewissern Sie sich, dass Sie Ihre eigene Antwort als akzeptiert markieren. Andernfalls wird die Schriftartseite als Frage ohne akzeptierte Antwort angezeigt. Scott Chamberlain vor 10 Jahren 0