2009-08-16 9 views
4

Ich versuche, eine COM-DLL mit Inno Setup in einem Setup-Paket zu registrieren, das ich erstellt habe. Während der Testinstallationen auf Vista, bekomme ich diesen Fehler:Die DLL/OCX konnte nicht registriert werden: RegSvr32 ist mit dem Exit-Code 0xC0000005 mit Inno Setup fehlgeschlagen. 5.2.3

Unable to register the DLL/OCX: RegSvr32 failed with exit code 0xC0000005

ich auf „Ignorieren“ und meine Anwendung erscheint zu installieren, aber ich muss dann eine Eingabeaufforderung öffnen (als Administrator) und dann regsvr32 die Installation COM-DLL. Gibt es eine Möglichkeit, dies automatisch in Inno-Setup zu tun?

+0

Hallo? (Grillen zwitschern) –

Antwort

2

Verwenden Sie die Selbstregistrierung nicht (dh regsvr32), Microsoft mehr Informationen über die Gründe liefert, warum in der Windows Installer documentation.

Am häufigsten bestimmte Abhängigkeiten, die Ihre Anwendung ist auf der Suche noch nicht vorhanden sind (dh Microsoft DLLs bereitgestellt mit Ihrer App), wenn der Selbstregistrierungsvorgang stattfindet.

Kann InnoSetup Registrierungseinträge schreiben? Das ist alles, was regsvr32 erreicht ... Sie können die WiX-Werkzeughitze verwenden, um die relevanten Registrierungsinformationen zu extrahieren, die regsvr32 an Ort und Stelle setzen und dann diese zurück an InnoSetup-Code zurückgeben.

+0

Bist du dir sicher? Inno Setup kann wirklich nichts außer 'regsvr32' verwenden, um eine DLL oder OCX zu installieren, irgendwelche Windows Installer Funktionen helfen hier IMO nicht wirklich. – mghie

+1

Kann InnoSetup keine Registry-Einträge schreiben? Das ist alles, was "regsvr32" erreicht ... Sie können das WiX-Tool 'heat' verwenden, um die relevanten Registrierungsinformationen zu extrahieren, die' regsvr32' an Ort und Stelle setzen würde, und diese dann manuell an InnoSetup-Code weiterleiten. – saschabeaumont

+0

Das sind interessante Informationen; setze das in deine Antwort und ich werde es abstimmen. Inno-Setup kann sicher in die Registrierung schreiben. Aber ich denke nicht, dass es das Problem des OPs betrifft, das mehr wie ein Berechtigungsproblem aussieht, in welchem ​​Fall das Schreiben in die Registry wahrscheinlich auch fehlschlagen würde. – mghie

1

0xC0000005 = EXCEPTION_ACCESS_VIOLATION

Die DLL etwas tut, das regsvr32 zum Absturz verursacht.

Verwandte Themen