Register DLL file on Windows Server 2008 R2

前端 未结 8 1680
旧巷少年郎
旧巷少年郎 2021-02-18 14:23

I\'m trying to register a COM DLL file on Windows Server 2008 R2. Here are the steps I took:

  1. Run cmd as administrator
  2. c:\\windows\\syst
相关标签:
8条回答
  • 2021-02-18 14:46

    I have found similar issue while registering my activeX (OCX) into windows server 2008 R2.To solve this i used http://www.chestysoft.com/dllregsvr/default.asp tool.There is some dependance problem with my ocx so I am getting "The module temp12.dll failed to load. Make sure the binary is stored at the specified path or debut it to check for problems with the binary or dependent .DLL files. The specified module could not be found" error message. When you try to registered your OCX with this tool it will prompt message if the ocx is having dependency or you will get success message.I got message for mfc70.dll and msvcr70.dll dependency.so i paste these dll into system32 folder of C:\windows and its done.After that I register my ocx sucessfully.I used 32 bit version of chestysoft tool (dllregsvr.exe) on windows server 2008 R2 64bit machine.

    0 讨论(0)
  • 2021-02-18 14:46

    This is what has to occur.

    You have to copy your DLL that you want to Register to: c:\windows\SysWOW64\

    Then in the Run dialog, type this in: C:\Windows\SysWOW64\regsvr32.exe c:\windows\system32\YourDLL.dll

    and you will get the message:

    DllRegisterServer in c:\windows\system32\YourDLL.dll succeeded.

    0 讨论(0)
  • 2021-02-18 15:05

    You may need to install ATL if your COM objects use ATL, as described by this KB article:

    http://support.microsoft.com/kb/201191

    These libraries will probably have to be supplied by developers to ensure the correct version.

    0 讨论(0)
  • 2021-02-18 15:08

    Error 0x80040154 is COM's REGDB_E_CLASSNOTREG, which means "Class not registered". Basically, a COM class is not declared in the installation registry.

    If you get this error when trying to register a DLL, it may be possible that the registration code for this DLL is trying to instantiate another COM server (DLL or EXE) which is missing or not registered on this installation.

    If you don't have access to the original DLL source, I would suggest to use SysInternal's Process Monitor tool to track COM registry lookups (there use to be a more simple RegMon tool but it may not work any more).

    You should put a filter on the working process (here: Regsvr32.exe) to only capture what's interesting. Then you should look for queries on HKEY_CLASSES_ROOT\[a progid, a string] that fail (with the NAME_NOT_FOUND error for example), or queries on HKEY_CLASSES_ROOT\CLSID\[a guid] that fail.

    PS: Unfortunately, there may be many thing that seem to fail on a perfectly working Windows system, so you'll have to study all errors carefully. Good luck :-)

    0 讨论(0)
  • 2021-02-18 15:11

    You might need to register this DLL using the 32 bit version of regsvr32.exe:

    c:\windows\syswow64\regsvr32 c:\tempdl\temp12.dll

    0 讨论(0)
  • 2021-02-18 15:12
    • Maybe the Microsoft Visual C++ Redistributable Package is not installed on the target machine (or it has the wrong version) download Microsoft Visual C++ Redistributable Package
    • Maybe you have not built the .dll with Release config (but with Debug instead) http://www.davidlenihan.com/2008/01/choosing_the_correct_cc_runtim.html
    0 讨论(0)
提交回复
热议问题