Jak zarejestrować plik DLL w systemie Windows 7 64-bit?

Próbowałem użyć następującego kodu:

cd c:\windows\system32
regsvr32.exe dllname.ax
Ale to nie działa na mnie. Jak mogę zarejestrować plik DLL w systemie Windows 7 z 64-bitowym procesorem?
Author: Peter Mortensen, 2011-02-04

15 answers

Wpisz regsvr32 name.dll do wiersza polecenia (wykonywanego w trybie podwyższonym!) i naciśnij " Enter."Zauważ, że {[1] } należy zastąpić nazwą biblioteki DLL, którą chcesz zarejestrować. Na przykład, jeśli chcesz zarejestrować iexplore.dll, typ regsvr32 iexplore.dll.

 69
Author: Harold Sota,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-26 13:41:24

Cóż, nie określa się, czy jest to 32 lub 64-bitowy dll i nie zawiera Komunikatu o błędzie, ale domyślam się, że jest to ten sam problem, jak opisano w tym artykule KB: Komunikat o błędzie podczas uruchamiania Regsvr32.exe na 64-bitowych Windows

Cytat z tego artykułu:

To zachowanie występuje, ponieważ Regsvr32.plik exe w System32 folder jest wersją 64-bitową. Po uruchomieniu Regsvr32, aby zarejestrować bibliotekę DLL, używasz wersji 64-bitowej przez default.

Rozwiązanie z tego artykułu:

Aby rozwiązać ten problem, uruchom Regsvr32.exe z %SystemRoot%\Syslow64 folder. Na przykład wpisz następujące polecenia, aby zarejestrować bibliotekę DLL: cd \windows\syswow64 regsvr32 c:\filename.dll

 204
Author: Hans Olsson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-10 08:56:18

Jeśli DLL jest 32 bit:

Skopiuj DLL do C:\Windows\SysWoW64\
W wierszu polecenia podwyższonym : %windir%\SysWoW64\regsvr32.exe %windir%\SysWoW64\namedll.dll

Jeśli DLL jest 64 bit:

Skopiuj DLL do C:\Windows\System32\
W wierszu polecenia podwyższonym : %windir%\System32\regsvr32.exe %windir%\System32\namedll.dll

Wiem, że to źle wygląda, ale tak to działa. Zobacz:

Http://support.microsoft.com/kb/249873
Cytat: "Uwaga Na 64-bitową wersję systemu operacyjnego Windows system, istnieją dwie wersje Regsv32.plik exe:
Wersja 64-bitowa to %systemroot% \ System32 \ regsvr32.exe.
Wersja 32-bitowa to %systemroot%\syslow64 \ regsvr32.exe.
"

 102
Author: Liam,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-15 11:12:36

W systemie x64 system32 jest dla 64 bitów, a syslow64 dla 32 bitów(nie odwrotnie, jak podano w innej odpowiedzi). WOW (Windows on Windows) To 32-bitowy podsystem działający pod podsystemem 64-bitowym).

To bałagan w nazewnictwie i służy tylko do dezorientacji, ale tak już jest.

Znowu ...

Syslow64 jest 32-bitowy, nie 64-bitowy.

System32 jest 64-bitowy, nie 32-bitowy.

W każdym z tych katalogów znajduje się regsrv32. Jeden to 64 bit, a drugi to 32 bit. Tak samo jest z odbcad32 i et al. (Jeśli chcesz zobaczyć 32-bitowe sterowniki ODBC, które nie będą wyświetlane z domyślnym odbcad32 w system32, który jest 64-bitowy.)

 30
Author: phill,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-19 21:40:31

Otwórz menu start i wpisz cmd w polu wyszukiwania przytrzymaj Ctrl + Shift i naciśnij Enter

Uruchamia Wiersz polecenia w trybie administratora.

Teraz wpisz: regsvr32 MyComobject.dll

 8
Author: Sushant Rath,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-10-31 09:55:05

Jeśli DLL jest 32-bitowy:

  1. Skopiuj DLL do C:\Windows\SysWoW64\
  2. w podwyższonym cmd: % windir%\SysWoW64 \ regsvr32.exe % windir%\Syslow64\namedll.dll

Jeśli DLL jest 64-bitowy:

  1. Skopiuj DLL do C:\Windows\System32\
  2. w podwyższonym cmd: % windir% \ System32 \ regsvr32.exe % windir% \ System32\namedll.dll
 7
Author: Dragos,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-09 11:05:00

W końcu znalazłem rozwiązanie po prostu uruchom CMD jako administrator, a następnie napisz

cd \windows\syswow64

To napisz to

regsvr32 c:\filename.dll

Mam nadzieję, że ta odpowiedź ci pomoże

 6
Author: Hayder Chebaane,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-28 12:01:39

Wszystko tutaj zawodziło jako zła ścieżka. Potem przypomniałem sobie sztuczkę ze starych Win95 dni. Otwórz folder programu, w którym .dll rezyduje, otwórz C:/Windows/System32 przewiń w dół do regsvr32 i przeciągnij i upuść bibliotekę dll z folderu programu na rgsrver32. Bum, zrobione.

 6
Author: ohm1,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-04 13:31:06

Znajomość Komunikatu o błędzie byłaby cenna. Ma na celu dostarczenie informacji, nawet jeśli nie ma to żadnego sensu dla Ciebie, robi to dla nas. Będąc zmuszonym zgadywać, powiedziałbym, że DLL jest 32-bitowym filtrem DirectX. W takim przypadku powinno to być właściwe działanie:

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

To musi być uruchomione z podwyższonym wierszem polecenia, aby UAC nie mógł zatrzymać wymaganego dostępu do rejestru. Zadaj więcej pytań na ten temat na superuser.com

 3
Author: Hans Passant,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-02-04 13:51:48

Właśnie przetestowałem tę niezwykle prostą metodę i działa idealnie--ale używam wbudowanego konta administratora, więc nie muszę przeskakiwać przez obręcze dla podwyższonych uprawnień.

Poniższy plik wsadowy zwalnia użytkownika z konieczności przenoszenia plików w / z folderów systemowych. Pozostawia to również Windows, aby zastosować właściwą wersję Regsvr32.

Instrukcje:

  • W folderze zawierającym bibliotekę (-.dll lub -.ax) plik, który chcesz zarejestrować, Otwórz nowy plik tekstowy i wklej jedną z procedur poniżej:

    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
    
  • Zapisz nowy plik tekstowy jako plik wsadowy (-.bat); następnie po prostu przeciągnij i upuść plik -.dll lub -.ax na górze pliku wsadowego.

  • Jeśli UAC nie daje możliwości uruchomienia pliku wsadowego jako Administrator, może być konieczne ręczne podniesienie uprawnień (instrukcje są dla Windows 7):
    1. Kliknij prawym przyciskiem myszy na plik wsadowy;
    2. Select Create shortcut;
    3. Kliknij prawym przyciskiem myszy na Skrót;
    4. Select Properties;
    5. Kliknij kartę Compatibility;
    6. zaznacz pole oznaczone Run this program as administrator;
    7. przeciągnij i upuść plik -.dll lub -.ax na górze nowego skrótu zamiast pliku wsadowego.

To jest to . Wybrałem COPY zamiast MOVE aby zapobiec niepowodzeniu wszelkich prób następczych związanych z UAC. Udana Rejestracja powinno nastąpić usunięcie oryginalnej biblioteki (-.dll lub -.ax) plik.

nie martw się o kopie wykonane w folderze systemowym(C:\Windows\System32 lub C:\Windows\SysWOW64) przez poprzednie przejścia -- zostaną one nadpisane za każdym razem, gdy uruchomisz plik wsadowy.

jeśli nie uruchomiłeś niewłaściwego pliku wsadowego , prawdopodobnie będziesz chciał usunąć kopię wykonaną w niewłaściwym folderze systemowym ( C:\Windows\System32 lub C:\Windows\SysWOW64) przed uruchomieniem odpowiedniego pliku wsadowego, ...albo...

  • Pomóż Windows wybrać odpowiedni plik biblioteki do rejestracji, w pełni kwalifikując jego lokalizację katalogu.

    1. z prawego pliku wsadowego skopiuj ścieżkę folderu systemowego
      • If 64-bit: C:\Windows\System32
      • If 32-bit: C:\Windows\SysWOW64
    2. wklej go w następnej linii, aby poprzedził %nx1
      • If 64-bit: regsvr32 "C:\Windows\System32\%nx1"
      • If 32-bit: regsvr32 "C:\Windows\SysWOW64\%nx1"
        • Wklej ścieżkę wewnątrz cudzysłowów
        • Wstaw ukośnik wsteczny, aby oddzielić %nx1 od ścieżki folderu systemowego
      • lub ...

  • Uruchom plik wsadowy strzelby, który będzie (w kolejności):

    1. czyszczenie przerwanych procesów rejestracji
      • Odwróć proces rejestracji zakończony przez plik biblioteki;
      • Usuń wszystkie kopie pliku biblioteki, które mają zapisano w jednym z katalogów systemowych;
      • Zatrzymaj, aby umożliwić zakończenie pliku wsadowego w tym momencie(i uruchomić inny, jeśli chcesz).
    2. próba 64-bitowej instalacji na pliku biblioteki
      • skopiuj plik biblioteki do C:\Windows\System32;
      • Zarejestruj plik biblioteki jako 64-bitowy proces;
      • Pauza, aby umożliwić zakończenie pliku wsadowego w tym momencie.
    3. Cofnij Instalację 64-Bitową
      • odwrócić każdą rejestrację twojego plik biblioteki jako proces 64-bitowy;
      • Usuń plik biblioteki z C:\Windows\System32;
      • Zatrzymaj, aby umożliwić zakończenie pliku wsadowego w tym momencie(i uruchomić inny, jeśli chcesz).
    4. próba instalacji 32-bitowej na pliku biblioteki
      • skopiuj plik biblioteki do C:\Windows\SystemWOW64
      • Zarejestruj plik biblioteki jako 32-bitowy proces;
      • Pauza, aby umożliwić zakończenie pliku wsadowego w tym momencie.
    5. Usuń oryginał, Niezarejestrowana kopia pliku biblioteki
 3
Author: Appreciative User,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-11 08:53:33

Jest różnica w Windows 7. Logowanie jako Administrator daje nie{[2] } takie same prawa jak podczas uruchamiania programu jako Administrator.

Przejdź do Start-Wszystkie programy-Akcesoria. Kliknij prawym przyciskiem myszy na oknie Polecenia i wybierz " Uruchom jako administrator" Teraz zarejestruj dll normalnie przez: regsrvr32 xxx.dll

 3
Author: Werner Spreeuwenberg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-11 09:57:03

I podczas tego, jeśli otrzymasz kod błędu 0x80040201, wypróbuj rozwiązanie w DllRegisterServer nie powiodło się z kodem błędu 0x80040201, ale upewnij się, że otwierasz wiersz polecenia jako Uruchom jako Administrator.

 3
Author: SHAKIR SHABBIR,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-19 21:45:24

Musisz uruchomić cmd.exe w c:\windows\system32\ by administrator

Komendy: do wyrejestrowania *.pliki dll

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

Do rejestracji *.pliki dll

regsvr32.exe C:\folder\folder\name.dll
 3
Author: lails,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-06 03:50:38

Część zamieszania związanego z regsvr32 polega na tym, że w 64-bitowym systemie Windows nazwa i ścieżka nie uległy zmianie, ale teraz rejestruje 64-bitowe biblioteki DLL. 32-bitowy regsvr32 istnieje w Syslow64, nazwie, która wydaje się reprezentować 64-bitowe aplikacje. Jednak WOW64 w nazwie odnosi się do Windows na Windows 64, lub więcej explicity Windows 32-bit Na Windows 64-bit. Kiedy myślisz o tym w ten sposób nazwa ma sens, mimo że jest myląca w tym kontekście.

Nie mogę znaleźć oryginalnego źródła na blog MSDN, ale jest o nim mowa w tym artykule Wikipedii http://en.wikipedia.org/wiki/WoW64

 2
Author: Adam,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-11 17:50:40

Oto jak naprawiłem ten problem na maszynie Win7 x64:

1-komunikat o błędzie:

" CoCreateInstance () nie powiodło się Plkease sprawdź wpisy rejestru CLSID{F088EA74-2e87-11D3-B1F3-00c0f03c37d3} i upewnij się, że jesteś zalogowany jako administrator"

Procedura 2 - fix:

  • Uruchom / wpisz cmd / RightMouseClick na cmd.exe i wybierz "Uruchom jako Administrator"
  • wpisany: regsvr32 / s C:\Program Files\Autodesk \ 3ds Max Design 2015 \ atl.dll regsvr32 / s C:\Program Files\Autodesk \ 3ds Max Design 2015 \ MAXComponents.dll
  • uruchom ponownie Win 7 i wróć do gry!

Mam nadzieję, że to pomoże !

 1
Author: LAOMUSIC ARTS,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-20 09:12:55