locked
DllRegisterServer entry point was not found

    Question

  • I'm trying to use a .DLL file in a program I'm writing, and it comes up with the following error: 


    An unhandled exception of type 'System.Runtime.InteropServices.COMException'   occurred in File.exe

    Additional information: COM object with CLSID {...} is either not valid or not registered.


    I tried registering the .DLL file using regsvr32, but that would come up with an error also: 


    the DllRegister Server entry point was not found. 

    This file can not be registered.


    I can't figure out what is going on with this.  Any help or ideas would be greatly appreciated. 

     

    Thanks,

    Michael

    Monday, January 15, 2007 7:47 PM

Answers

  • Two steps if this isn't a hard-named/certificate created DLL (i.e. for pushing into the global assembly cache):
    1) Use regasm with the /tlb option, example: regasm mydll.dll /tlb:mydll.tlb
    2) Push the dll into the working directory of the executable.  If in design mode, this will be where the VB6.EXE is located (default is like C:\Program Files\Microsoft Visual Studio\VB98).  For compiled executables, just drop it in the same directory as the executable or where you launch if you launch with a shortcut.

    The above steps will go away once you've finalized the dll, hard-named/certificate and put into the global cache.

    As you modify your dll/debug/test, be sure to also unregister first before re-registering so your registry doesn't get too bloated (regasm /unregister mydll.dll).  You'll need to re-register/copy into the target directory each time until you make it a global assembly.
    Thursday, January 18, 2007 10:46 PM

All replies

  • Are you trying to register a .NET assembly using regsvr32?  If you are that would explain the problem, you need to use regasm to register .NET assemblies.
    Thursday, January 18, 2007 12:26 AM
  • I was trying to use regsvr32.  I tried regasm, but that didn't work either.  I got the same error in my program.  Do you have any other ideas on what I could try? 

    Thank you.

    Thursday, January 18, 2007 6:59 PM
  • Two steps if this isn't a hard-named/certificate created DLL (i.e. for pushing into the global assembly cache):
    1) Use regasm with the /tlb option, example: regasm mydll.dll /tlb:mydll.tlb
    2) Push the dll into the working directory of the executable.  If in design mode, this will be where the VB6.EXE is located (default is like C:\Program Files\Microsoft Visual Studio\VB98).  For compiled executables, just drop it in the same directory as the executable or where you launch if you launch with a shortcut.

    The above steps will go away once you've finalized the dll, hard-named/certificate and put into the global cache.

    As you modify your dll/debug/test, be sure to also unregister first before re-registering so your registry doesn't get too bloated (regasm /unregister mydll.dll).  You'll need to re-register/copy into the target directory each time until you make it a global assembly.
    Thursday, January 18, 2007 10:46 PM
  • If its a .NET assembly you can do the following

    1. go to the .NET console
    2. get into the directory where the dll is placed
    3. check the signature of the dll by doing : sn -Vr <dll name>.dll
    4. register the dll by doing : gacutil/i <dll name>.dll

    This will register your dll in the GAC (only if it has a string name associated with it, ie a shared dll).

     

    • Proposed as answer by LMSmith Friday, June 01, 2012 10:25 PM
    Monday, January 29, 2007 7:55 AM
  • hai.

    I am trying to register a Ms-Access assembly using regsvr32.

     

    I need to do the Ms-Access application. In that application i need to send and receive email with attachment.

    I am done the send email. But the attachment was pending. I need the Common Dialog Control for Browse and Select the file, and the selected file path was stored in a textbox.

    But in my Access form toolbox, doesn't contain the Common dialog control. So am click the more controls button to Select the "Microsoft Common Dialog Control, Version 6.0". When i try to put this control in my Access Form. one error message was show me. The error message was.

     

    You don't have the license required to use this ActiveX control.

    You tried to open a form containing an OLE object or an ActiveX control or you tried to create an ActiveX control. To obtain the appropriate license, contact the company that provides the licensed OLE object or ActiveX control.

     

    So am trying to Register the many Control, like comcat.dll, comctl32.dll, comdlg32.dll, COMDLG32.OCX.

    The  COMDLG32.OCX only was Registered Successfully. But i have the same problem.

    The error is:

     

    c:\windows\system32\comctl32.dll was loaded, but the DllRegisterServer entry point was not found.

    This file can not be registered.

     

    I don't know why this error could be occured. if anybody know, how to solve this error.

    Please let me know.

     

     

    thanks

    Tamilvanan

     

    Tuesday, April 03, 2007 12:54 PM
  •  

    Hey Tamilvanan , I am facing the same problem. If u will get ne solution then please let me know too....

     

    Thanks in Advance...

    Thursday, July 19, 2007 1:05 PM
  •  

    I am trying to register
    xvid.dll using regsvr32.

    xvid.dll was loaded, but the DllRegisterServer entry point was not found.
    This file can not be registered.
    plz help.

    Monday, October 22, 2007 4:48 PM
  • You guys really should think about new users.

     

    How do I go to the .net console?

     

    Thanks for any help.

    Sunday, November 04, 2007 2:36 AM
  • all they mean is the command prompt window available from visual studio

     

    view -> other windows -> command window in VS

     

    you can also run regasm from a normal comand prompt by adding the path to the executable:

     

    C:\>c:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\RegAsm.exe /?
    Microsoft (R) .NET Framework Assembly Registration Utility 1.1.4322.573
    Copyright (C) Microsoft Corporation 1998-2002.  All rights reserved.

    Syntax: RegAsm AssemblyPath [Options]
    Options:
        /unregister          Unregister types
        /tlb[:FileName]      Export the assembly to the specified type library
                             and register it
        /regfile[:FileName]  Generate a reg file with the specified name
                             instead of registering the types. This option
                             cannot be used with the /u or /tlb options
        /codebase            Set the code base in the registry
        /registered          Only refer to already registered type libraries
        /nologo              Prevents RegAsm from displaying logo
        /silent              Silent mode. Prevents displaying of success messages
        /verbose             Displays extra information
        /? or /help          Display this usage message

    C:\>

     

     

    Monday, November 05, 2007 10:51 AM
  • I am trying to register
    xvid.dll using regsvr32.

    xvid.dll was loaded, but the DllRegisterServer entry point was not found.
    This file can not be registered.
    plz help.




    I am having that exact same problem.  Help!!
    Friday, December 14, 2007 3:09 PM
  • Has any further information been found on this topic. I am having the EXact same problem as referenced above.  (Quickly,  do I require WIndows XP Professional to even attempt this fix. I have XP home).  My problems are getting worse everday. Almost every application I try to run I either get the error that is mentioned above or I get Dwwin.exe error; C:\Windows\System32\1033\dwintl.dll is not a valid image.   BOth errors are constantly poping up.  I have, as the others have, attempted to process the commands listed above and get the same results.   I am starting to think I may need to RELOAD XP which is a nightmarish thought.

     

    Friday, March 07, 2008 12:33 AM
  • Hello All,


    I am facing the same problem, I have created a application where i am generating a excel sheet and dumping the data from the database, also creating charts inside sheet. This works fine on my machine but production server doesnt have office installed. and it is giving me the error. I tried to register the assembly but it is giving me error.

    Please help
    Friday, March 07, 2008 1:10 PM
  • I may be shooting at the stars here but by accident, while looking for a specific hidden file, I came accross a standalone file that just had that look to it. I had never seen that type of file before and it had to shell.   I (probabley stupidly) double clicked on it and The SHimEngr.dll error poped up. TO give you a quick history. My orgininal (sole problem) was with the ShimENg.dll bad image pop up, now it has developed into a much nasitier Malicious Bas...... As I try to fix this issue using MS-DOS, this is when I get the DLLREGISTRY SERVER  error.   Now, I am an advanced user, however, not the type that is a advanced PROFFESSIONal. Big step.
    ANyway,  this file has shim.eng.dll written all over it and all kinds of other pop ups.  I did a lookup on Google and I found that this is the type of file that's hard to find and it is malicious.     It called IPH.PH.    DOes this ring any bells for anyone. I think if we can deactivate that file, the pop ups will not be a problem anymore.   I am sorry if I am sounding less than advanced but at this point, I am so frustrated I am just throughing everything at this.

    pat
    Friday, March 07, 2008 10:13 PM
  • This behavior may occur if you try to register a DLL by using Regsrv32 while you are logged on using an account that does not have administrative credentials, such as an account that is a member of the standard users group. An account that does not have administrative credentials cannot write to the registry or change files in the System32 folder.

    The behavior occurs because Windows XP and Windows Server 2003 use a more restrictive security scheme than earlier versions of Windows use. This scheme prevents standard users from registering DLLs.
    From: MSDN

    Mattew Tarat

    Saturday, March 29, 2008 8:07 AM
  • Tamilvanan,

     

      I too have the same problem...

    " c:\windows\system32\comctl32.dll was loaded, but the DllRegisterServer entry point was not found. "

     

    Have u got the solution..?If so plz let me also know the solution...contact2shan@gmail.com is my Mail Id..Please let me know it.

     

    Thanks and regards,

     

    Shan

     

    Monday, April 21, 2008 9:51 AM
  • I want to connect my receiver to my PC

    My receiver is starsat sr-x3200cu super

    Monday, May 19, 2008 5:25 PM
  • I want to connect my receiver to my PC

    My receiver is starsat sr-x3200cu super

     

    Tuesday, May 20, 2008 1:57 PM
  • "view -> other windows -> command window in VS"

    I just tried this in visual studio 2008 and got the message - command "regasm" is not a valid command???
    Did I miss something or is 2008 different?

    Wednesday, August 06, 2008 11:22 AM
  • Mattew Tarat said:

    This behavior may occur if you try to register a DLL by using Regsrv32 while you are logged on using an account that does not have administrative credentials, such as an account that is a member of the standard users group. An account that does not have administrative credentials cannot write to the registry or change files in the System32 folder.

    Well, I have the exact same problem on wwindows vista where my account is the only account on the computer and it does have administrative functions... so that's not the cause of the problem I guess. It's driving me crazy because I've been googling for this problem like crazy, but nobody has an awnser and my computer knowledge isn't sufficient enough to come up with a solution for this.

     
    • Proposed as answer by DorisLim Thursday, May 27, 2010 7:02 AM
    Monday, September 01, 2008 10:24 PM
  • Hi all,

    I also facing same issue that "DllRegister Server entry point was not found".

    I was create my own dynamic link library. 

    I found out in my program, i forgot to create my own "module-definition file.def".

    After i add in .def file in my project and It's working fine for me. :D

    Example:

    You have created shared.dll in your project.

    You have to add one more .def file in your project like shared.def.

    Inside shared.def file, add the following a few lines:

    LIBRARY shared.DLL

    EXPORTS

    DllMain  PRIVATE

    DllGetClassObject PRIVATE

    DllCanUnloadNow  PRIVATE

    DllRegisterServer  PRIVATE

    DllUnRegisterServer  PRIVATE 

     

    I hope this can help to answer those person still facing this issue.  :D


    Doris
    Thursday, May 27, 2010 7:18 AM
  •  

    This is the result I had when attempting a RegAsm.exe /tlb ntdll.dll

    C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322>RegAsm.exe /tlb ntdll.dll
    Microsoft (R) .NET Framework Assembly Registration Utility 1.1.4322.573
    Copyright (C) Microsoft Corporation 1998-2002.  All rights reserved.

    RegAsm error: Failed to load 'C:\WINDOWS\system32\ntdll.dll' because it is not a
     valid .NET assembly

     

    I am unable to register dll  ntdll.dll using regsrv3

    DllRegisterServer entry point was not found

    Thursday, June 10, 2010 11:18 PM
  • There are 2 versions of RegAsm.exe on my PC.  1 is in the v1.1.xxxx, the other is for v2.xxxxx.  Try using the 2.xxx version.
    Tuesday, June 22, 2010 8:24 PM
  • Thanks Kevin - I developed the .dll with VS2005 and needed the 2.xxx version. It registered successfully!

     

    Monday, February 28, 2011 5:18 PM
  •  HI....

    I got an error like  :  The module “C\Program Files(x86)\Microsoft\BOLsetup\BOL.dll” was loaded but the entry-Ponit DLLRegisterServer was not found..

    Can you please give the suggestion….. I see you are also got same problem ,let me know how you was solved that  issue …

     


    kavitha
    Thursday, September 22, 2011 5:13 AM
  • I think you need package setup of BOL.dll. After you install it then you had a message successful
    Wednesday, September 05, 2012 6:04 PM
  • I am not a programmer or developer, just a gutsy user for years - the above WORKED! Many thanks from a recent Office 2010 (last night) purchaser (finally gave in) only to find my brains located in Outlook would not open (brain dead is not funny!) and instructions required uninstalling 3rd party interface with Google calendar and doing a repair. No repair possible without "Add/Remove Programs". As usual, you rock even for us illiterates. I take back previous whispered epithets...
    Tuesday, November 06, 2012 3:26 PM