2009-07-29 17 views

Odpowiedz

11

Może się to zdarzyć, jeśli foo.dll ma zależność od bar.dll i faktycznie nie można znaleźć bar.dll.

Spróbuj użyć z MSVC, aby sprawdzić zależności od foo.dll i sprawdzić, czy czegoś brakuje.

Inną opcją jest pobranie i uruchomienie FileMon. Następnie ponownie uruchom regsvr32 i zobacz, którego pliku/modułu nie uda się znaleźć. To zdecydowanie powinno go wyśledzić.

0

W systemach 64-bitowych Dependency Walker nie był dla mnie zrozumiały; i FileMon został zastąpiony przez Monitor procesu (patrz https://docs.microsoft.com/en-us/sysinternals/downloads/procmon, aby pobrać narzędzie). Oto w jaki sposób udało mi się znaleźć brakujące referencje za pomocą Process Monitor:

ProcMon Toolbar for the Filter Dialog

Otwórz Filtr Dialog albo z paska narzędzi lub menu.

ProcMon Filter Dialog

Dodać Process Name z regsvr32.exe do listy filtrów i usunąć wszelkie PID filtrów.

ProcMon Clear Toolbar Button

Wyczyść lista ...

ProcMon Capture Toolbar Button

... włączyć przechwytywania, jeśli nie jest już włączony.

Uruchom polecenie regsvr32.exe z poziomu okna konsoli. Po zakończeniu możesz wyłączyć przechwytywanie.

missing reference lines

Poszukaj brakującego odniesienia po regsvr32 załadował swoją DLL.

Powiązane problemy