wake-up-neo.com

Wie registriere ich eine DLL -Datei unter Windows 7 64-Bit?

Ich habe versucht, den folgenden Code zu verwenden:

cd c:\windows\system32
regsvr32.exe dllname.ax

Aber das funktioniert bei mir nicht. Wie kann ich unter Windows 7 eine DLL -Datei mit einem 64-Bit-Prozessor registrieren?

100
Rajkumar Reddy

Geben Sie regsvr32 name.dll in die Eingabeaufforderung ein (im erweiterten Modus ausgeführt!) Und drücken Sie die Eingabetaste. Beachten Sie, dass name.dll durch den Namen des DLL ersetzt werden sollte, den Sie registrieren möchten. Wenn Sie beispielsweise die iexplore.dll registrieren möchten, geben Sie regsvr32 iexplore.dll ein.

68
Harold SOTA

Nun, Sie geben nicht an, ob es sich um eine 32- oder 64-Bit-DLL handelt, und Sie geben keine Fehlermeldung an, aber ich nehme an, dass es sich um dasselbe Problem handelt, das in diesem KB-Artikel beschrieben wird: Fehlermeldung beim Ausführen von Regsvr32.exe unter 64-Bit-Windows

Zitat aus diesem Artikel:

Liegt daran, dass die Regsvr32.exe-Datei in dem Ordner System32 eine 64-Bitversion ist. Wenn Sie Regsvr32 ausführen, um eine DLL zu registrieren, verwenden Sie standardmäßig die 64-Bit-Version.

Lösung aus diesem Artikel:

Führen Sie Regsvr32.exe in dem% SystemRoot%\Syswow64-Ordner aus, um dieses Problem zu beheben. Geben Sie beispielsweise die folgenden Befehle ein, um die DLL zu registrieren: cd \windows\syswow64regsvr32 c:\filename.dll

195
Hans Olsson

Wenn das DLL 32 Bit ist:

Kopieren Sie das DLL nach C:\Windows\SysWoW64 \
In einer erhöhten Eingabeaufforderung: %windir%\SysWoW64\regsvr32.exe %windir%\SysWoW64\namedll.dll

wenn das DLL 64 Bit ist:

Kopieren Sie das DLL nach C:\Windows\System32 \
In einer erhöhten Eingabeaufforderung: %windir%\System32\regsvr32.exe %windir%\System32\namedll.dll

Ich weiß, es scheint falsch herum zu sein, aber so funktioniert es. Sehen:

http://support.Microsoft.com/kb/24987
Zitat: "Hinweis: Auf einer 64-Bit-Version eines Windows-Betriebssystems gibt es zwei Versionen der Datei" Regsv32.exe ":
Die 64-Bit-Version lautet% systemroot%\System32\regsvr32.exe.
Die 32-Bit-Version lautet% systemroot%\SysWoW64\regsvr32.exe.
"

101
Liam

Auf einem x64-System ist system32 für 64-Bit und syswow64 für 32-Bit (nicht umgekehrt, wie in einer anderen Antwort angegeben). WOW (Windows unter Windows) ist das 32-Bit-Subsystem, das unter dem 64-Bit-Subsystem ausgeführt wird.

Es ist ein Durcheinander in Bezug auf die Benennung und dient nur der Verwirrung, aber so ist es.

Nochmal ...

syswow64 ist 32 Bit, NICHT 64 Bit.

system32 ist 64 Bit, NICHT 32 Bit.

In jedem dieser Verzeichnisse befindet sich ein regsrv32. Einer ist 64 Bit und der andere ist 32 Bit. Dasselbe gilt für odbcad32 und et al. (Wenn Sie 32-Bit ODBC Treiber sehen möchten, die mit dem Standard-odbcad32 in System32, das 64-Bit ist, nicht angezeigt werden.)

29
phill

Öffnen Sie das Startmenü und geben Sie cmd in das Suchfeld ein. Halten Sie Strg + Umschalt gedrückt und drücken Sie die Eingabetaste

Dadurch wird die Eingabeaufforderung im Administratormodus ausgeführt.

Geben Sie nun ein: regsvr32 MyComobject.dll

8
Sushant Rath

Schließlich fand ich die Lösung nur CMD als Administrator ausführen und dann schreiben

cd \windows\syswow64

dann schreibe dies

regsvr32 c:\filename.dll

Ich hoffe, diese Antwort wird Ihnen helfen

6
Hayder Chebaane

Wenn das DLL 32-Bit ist:

  1. Kopieren Sie das DLL nach C:\Windows\SysWoW64 \
  2. In erhöhten Cmd:% windir%\SysWoW64\regsvr32.exe% windir%\SysWoW64\namedll.dll

wenn das DLL 64-Bit ist:

  1. Kopieren Sie das DLL nach C:\Windows\System32 \
  2. In erhöhten Cmd:% windir%\System32\regsvr32.exe% windir%\System32\namedll.dll
6
Dragos

Alles hier versagte als falscher Weg. Dann erinnerte ich mich an einen Trick aus den alten Win95-Tagen. Öffnen Sie den Programmordner, in dem sich die DLL befindet, öffnen Sie C:/Windows/System32, scrollen Sie nach unten zu regsvr32 und ziehen Sie die DLL aus dem Programmordner auf rgsrver32. Boom, fertig.

5
ohm1

Wenn Sie dabei den Fehlercode 0x80040201 erhalten, versuchen Sie die Lösung in DllRegisterServer ist mit dem Fehlercode 0x80040201 fehlgeschlagen, aber Stellen Sie sicher, dass Sie den Befehl Eingabeaufforderung als Als Administrator ausführen öffnen.

3
SHAKIR SHABBIR

Die Fehlermeldung zu kennen wäre ziemlich wertvoll. Es soll Informationen liefern, auch wenn es für Sie keinen Sinn ergibt, tut es für uns. Ich muss raten, dass DLL ein 32-Bit-DirectX-Filter ist. In diesem Fall sollte dies die richtige Vorgehensweise sein:

cd c:\windows\syswow64
move ..\system32\dllname.ax .
regsvr32.exe dllname.ax

Dies muss an einer Eingabeaufforderung mit erhöhten Rechten ausgeführt werden, damit die Benutzerkontensteuerung den erforderlichen Registrierungszugriff nicht stoppen kann. Stellen Sie weitere Fragen dazu unter superuser.com

3
Hans Passant

Sie müssen den cmd.exe in c:\windows\system32\ by administrator ausführen

Befehle: Zur Aufhebung der Registrierung * .dll-Dateien

regsvr32.exe /u C:\folder\folder\name.dll

Zur Registrierung * .dll Dateien

regsvr32.exe C:\folder\folder\name.dll
3
lails

Ich habe gerade diese extrem einfache Methode getestet und sie funktioniert einwandfrei - aber ich verwende das eingebaute Administratorkonto, damit ich nicht durch die Rahmen springen muss, um erhöhte Berechtigungen zu erhalten.

Die folgende Batch-Datei befreit den Benutzer von der Notwendigkeit, Dateien in/aus Systemordnern zu verschieben. Es bleibt auch Windows überlassen, die richtige Version von Regsvr32 anzuwenden.

ANWEISUNGEN:

  • Öffnen Sie in dem Ordner, der die zu registrierende Bibliotheksdatei (-.dll oder -.ax) enthält, eine neue Textdatei und fügen Sie EINE der folgenden Routinen ein:

    echo BEGIN DRAG-AND-DROP %n1 REGISTRAR FOR 64-BIT SYSTEMS
    copy %1 C:\Windows\System32
    regsvr32 "%nx1"
    echo END BATCH FILE
    pause
    
    echo BEGIN DRAG-AND-DROP %n1 REGISTRAR FOR 32-BIT SYSTEMS
    copy %1 C:\Windows\SysWOW64
    regsvr32 "%nx1"
    echo END BATCH FILE
    pause
    
  • Speichern Sie Ihre neue Textdatei als Batch-Datei (-.bat). Ziehen Sie dann einfach Ihre -.dll - oder -.ax -Datei auf die Batch-Datei und legen Sie sie dort ab.

  • Wenn Sie mit der Benutzerkontensteuerung nicht die Möglichkeit haben, die Batchdatei als Administrator auszuführen, müssen Sie möglicherweise die Berechtigungen manuell erhöhen (Anweisungen gelten für Windows 7):

    1. Klicken Sie mit der rechten Maustaste auf die Batchdatei.
    2. Wählen Sie Create shortcut;
    3. Klicken Sie mit der rechten Maustaste auf die Verknüpfung.
    4. Wählen Sie Properties;
    5. Klicken Sie auf die Registerkarte Compatibility.
    6. Aktivieren Sie das Kontrollkästchen Run this program as administrator;
    7. Ziehen Sie Ihre -.dll - oder -.ax -Datei auf die neue Verknüpfung und nicht auf die Stapeldatei, und legen Sie sie dort ab.

Das war's. Ich habe COPY anstelle von MOVE gewählt um das Scheitern von UAC-bezogenen Folgeversuchen zu verhindern. Nach erfolgreicher Registrierung sollte die ursprüngliche Bibliothek gelöscht werden (-.dll oder -.ax) Datei.

Keine Sorge über in den Systemordner erstellte Kopien (C:\Windows\System32 oder C:\Windows\SysWOW64) bei vorherigen Durchläufen - sie werden jedes Mal überschrieben, wenn Sie die Batch-Datei ausführen.

Es sei denn, Sie haben die falsche Batch-Datei ausgeführt In diesem Fall möchten Sie wahrscheinlich die Kopie löschen, die im falschen Systemordner erstellt wurde (C:\Windows\System32 oder C:\Windows\SysWOW64) vor dem Ausführen der richtigen Batchdatei, ... oder ...

  • Helfen Sie Windows, die richtige Bibliotheksdatei für die Registrierung auszuwählen, indem Sie den Verzeichnisspeicherort vollständig angeben.

    1. Kopieren Sie aus der rechten Batchdatei den Systemordnerpfad
      • Bei 64-Bit: C:\Windows\System32
      • Bei 32-Bit: C:\Windows\SysWOW64
    2. Fügen Sie es in die nächste Zeile ein, so dass es vor %nx1 Steht.
      • Bei 64-Bit: regsvr32 "C:\Windows\System32\%nx1"
      • Bei 32-Bit: regsvr32 "C:\Windows\SysWOW64\%nx1"
        • Pfad in Anführungszeichen einfügen
        • Fügen Sie einen Backslash ein, um %nx1 vom Systemordnerpfad zu trennen
      • oder ...

  • Führen Sie diese Schrotflinten-Batchdatei aus, die (in der angegebenen Reihenfolge) Folgendes bewirkt:

    1. Bereinigung abgebrochener Registrierungsvorgänge durchführen
      • Stornieren Sie alle Registrierungsvorgänge, die von Ihrer Bibliotheksdatei durchgeführt wurden.
      • Löschen Sie alle Kopien Ihrer Bibliotheksdatei, die in einem der Systemordner gespeichert wurden.
      • Halten Sie an, damit Sie die Batch-Datei an dieser Stelle beenden können (und führen Sie eine andere aus, wenn Sie möchten).
    2. Versuchen Sie eine 64-Bit-Installation in Ihrer Bibliotheksdatei
      • Kopieren Sie Ihre Bibliotheksdatei nach C:\Windows\System32;
      • Registrieren Sie Ihre Bibliotheksdatei als 64-Bit-Prozess.
      • Halten Sie an, damit Sie die Batch-Datei an dieser Stelle beenden können.
    3. 64-Bit-Installation rückgängig machen
      • Machen Sie die Registrierung Ihrer Bibliotheksdatei als 64-Bit-Prozess rückgängig.
      • Löschen Sie Ihre Bibliotheksdatei aus C:\Windows\System32;
      • Halten Sie an, damit Sie die Batch-Datei an dieser Stelle beenden können (und führen Sie eine andere aus, wenn Sie möchten).
    4. Versuchen Sie die 32-Bit-Installation in Ihrer Bibliotheksdatei
      • Kopieren Sie Ihre Bibliotheksdatei nach C:\Windows\SystemWOW64
      • Registrieren Sie Ihre Bibliotheksdatei als 32-Bit-Prozess.
      • Halten Sie an, damit Sie die Batch-Datei an dieser Stelle beenden können.
    5. Löschen Sie die ursprüngliche, nicht registrierte Kopie der Bibliotheksdatei
3

In Windows 7 gibt es einen Unterschied. Wenn Sie sich als Administrator anmelden, erhalten Sie nicht dieselben Rechte wie beim Ausführen eines Programms als Administrator.

Gehen Sie zu Start - Alle Programme - Zubehör. Klicken Sie mit der rechten Maustaste in das Befehlsfenster und wählen Sie "Als Administrator ausführen". Registrieren Sie nun die DLL wie gewohnt über: regsrvr32 xxx.dll

Ein Teil der Verwirrung in Bezug auf regsvr32 ist, dass sich in 64-Bit-Fenstern der Name und der Pfad nicht geändert haben, jetzt jedoch 64-Bit-DLLs registriert werden. Der 32-Bit-Befehl regsvr32 ist in SysWOW64 vorhanden. Dieser Name scheint 64-Bit-Anwendungen darzustellen. Das WOW64 im Namen bezieht sich jedoch auf Windows unter Windows 64 oder genauer auf Windows 32-Bit unter Windows 64-Bit. Wenn Sie es so sehen, macht der Name Sinn, obwohl er in diesem Zusammenhang verwirrend ist.

Ich kann meine ursprüngliche Quelle nicht in einem MSDN-Blog finden, aber in diesem Wikipedia-Artikel wird darauf verwiesen http://en.wikipedia.org/wiki/WoW64

2
Adam

So habe ich dieses Problem auf einem Win7 x64-Computer behoben:

1 - Fehlermeldung:

"CoCreateInstance () fehlgeschlagen Bitte überprüfen Sie Ihre Registrierungseinträge CLSID {F088EA74-2E87-11D3-B1F3-00C0F03C37D3} und vergewissern Sie sich, dass Sie als Administrator angemeldet sind."

2 - Fixverfahren:

  • Starten Sie cmd/RightMouseClick auf cmd.exe und wählen Sie "Als Administrator ausführen"
  • eingegeben: regsvr32/s C:\Programme\Autodesk\3ds Max Design 2015\atl.dll regsvr32/s C:\Programme\Autodesk\3ds Max Design 2015\MAXComponents.dll
  • starten Sie Win 7 neu und nehmen Sie das Geschäft wieder auf!

Hoffe das hilft !

1
LAOMUSIC ARTS