Windows 7 64bit registriert keine 32bit-DLL

3516
Bad Neighbor

Ich versuche, einen 32-Bit-Oracle-Instant-Client auf mehreren Windows 7-PCs zu installieren. Diese Version wird von der Software des Kunden benötigt. Ich habe es auf ungefähr einem Dutzend PCs installiert, die dasselbe Installationsprogramm verwenden, aber zwei Maschinen weigern sich, eine DLL zu registrieren. Die beiden PCs unterscheiden sich in Fabrikat und Modell. Ich konnte diese Software in der Vergangenheit auf diesen Modellen installieren. Dies ist der Fehler, den das Installationsprogramm ausgibt:

Fehler bei der Installation

Die Datei wird an den oben angegebenen Speicherort kopiert. Wenn ich den Fehler ignoriere und ihn später manuell registriere, erhalte ich den folgenden Fehler:

Fehler während Regsvr32

Dieser Fehler wird zurückgegeben, unabhängig davon, ob ich die 32-Bit-Version (syswow64) oder die 64-Bit-Version von regsvr32 verwende. Die Eingabeaufforderung wird als Administrator ausgeführt, und die ID, mit der ich am PC angemeldet bin, ist ein Administrator. Ich habe versucht, die Datei in den Ordner syswow64 zu kopieren, aber ich erhalte die gleiche Fehlermeldung. Das gleiche Installationsprogramm funktioniert auch auf anderen PCs.

Um das Problem noch weiter zu verkomplizieren, wird einer der beiden PCs auch keine OCX-Datei eines anderen 32-Bit-Installationsprogramms registrieren:

Zweiter Installerfehler

Beide PCs sind relativ neu und haben Standardsoftware installiert. Wir verwenden MS Forefront für die Sicherheit, aber das Deaktivieren hat das Verhalten nicht geändert. Was vermisse ich?

3
Sie müssen das 64-Bit-Installationsprogramm verwenden, wenn Sie Windows 7 x64 ausführen. Es ist nicht sinnvoll, einen 32-Bit-Oracle-Client zu installieren, wenn der 64-Bit-Client identisch ist. Downgrade des Betriebssystems auf 32-Bit, und dieses Problem tritt nicht auf Ramhound vor 12 Jahren 0
Ich sollte hinzufügen, dass dies eine Unternehmensumgebung ist, daher ist eine Herabstufung nicht möglich. Der 32-Bit-Oracle-Client ist nur ein Symptom. Das Problem ist, dass die PCs keine 32-Bit-DLLs registrieren können. Bad Neighbor vor 12 Jahren 0
Wenn Sie den Verdacht haben, dass Windows einen Fehler aufweist, installieren Sie Windows neu. Ihre Opportunitätskosten werden höher, wenn Sie versuchen, sie zu beheben. vor 12 Jahren 0

2 Antworten auf die Frage

1
Scott Chamberlain

Der Fehlercode, den Sie erhalten haben, steht ERROR_MOD_NOT_FOUNDauf Ihrem System, auf das beide Programme angewiesen sind, einige abhängige DLLs.

Ein Werkzeug, das ich häufig zum Finden von Problemen wie diesen verwendet habe, ist Dependency Walker . Er analysiert die DLL oder den OCX und sagt Ihnen, von welchen anderen DLLs es abhängt.

Wenn es durch statische Analyse nicht gefunden werden kann, müssen Sie es durch dynamische Analyse und "Profiling" des Programms tun. Ich habe nur mit exe gearbeitet, daher bin ich mir nicht sicher, wie Sie die DLL für die Profilerstellung ausführen würden. regsvr32Möglicherweise müssen Sie den Abhängigkeitsläufer laden und ihn mit den Argumenten starten, um Ihre DLL zu laden.

Wenn Sie die fehlende DLL herausgefunden haben und sie dem System wieder hinzufügen, sollte alles funktionieren.

0
Micah Armantrout

Sie können den 64-Bit- Client einfach herunterladen

Wie ich Ramhound kommentierte, ist die Unfähigkeit, den Client zu installieren, nur ein Symptom. Das Problem ist, dass die PCs keine 32-Bit-DLLs registrieren können. Bad Neighbor vor 12 Jahren 0
@BadNeighbor - Die Windows-Installation ist eindeutig beschädigt, installieren Sie sie also neu. Ramhound vor 12 Jahren 1