none
Help please!!! (80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)). )

    Question

  • I have just created a simple web site using VB in VS2010 with reference to SourceSafe using Interop.SourceSafeTypeLib.dll, but I'm having lots of trouble on publishing it!!!

    In VS everything works fine, but after publishing on the webserver I get the following error:

    Retrieving the COM class factory for component with CLSID {783CD4E4-9D54-11CF-B8EE-00608CC9A71F} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)). 

    HELP PLEASE!!!!

    I'm in big trouble if I can't get this done fast....

     

    Sorry if my english is not to good!!!


    Wednesday, April 28, 2010 1:55 PM

All replies

  • Is the class Interop.SourceSafeTypeLib.dll registered on the Web Server? If not register the Interop.SourceSafeTypeLib.dll on your web server, and try it again.

    regsvr32 "path to dll\dll.dll"

    • Edited by André Krijnen Wednesday, April 28, 2010 3:07 PM added some information.
    Wednesday, April 28, 2010 3:06 PM
  • An interop Dll that's built by referencing a COM Dll is just a mapping so that your managed code can call the unmanaged COM Dll through that interop library. This means that:

    1. It does not need registering because it doesn't expose its own CONM interfaces.

    2. The COM Dll it refers to must be registered, so it looks like Visual Sourcesafe may not be installed on that system where you get class not registered.


    Phil Wilson
    Wednesday, April 28, 2010 6:38 PM
  • Is the class Interop.SourceSafeTypeLib.dll registered on the Web Server? If not register the Interop.SourceSafeTypeLib.dll on your web server, and try it again.

    regsvr32 "path to dll\dll.dll"

    devdre thanks for the tip...but

    I have allready tried that, but I get the following error:

    "The module "C:\WebSite\Bin\Interop.SourceSafeTypeLib.dll"

    was loaded but the entry-point DllRegisterServer was not found"

    "Make sure that

    "C:\WebSite\Bin\Interop.SourceSafeTypeLib.dll" as a valid DLL

    or OCX file and then try again."

    I realy don't know what else to do!!!!

    This is not the 1st method I've tried to solve this problem and nothing seams to work!!!

    Thursday, April 29, 2010 8:31 AM
  • PhilWilson thanks in advance...

    I'v allready installed VSS on the Server and it works fine, but it didn't solve my problem..

    I'm really getting desperate with all these situation, I really need to get this done fast...

    HELP!!!!!

    Thursday, April 29, 2010 8:46 AM
  • This shouldn't be complicated. What's the class/object you're creating when you get that error? And look at the registry on the system where it works and see what it refers to in InprocServer32.  What's the Dll? So is the web server a 64-bit system? If so, is your code MSIL and running 64-bit, because VSS is 32-bit and you need the 32-bit registration. If that's the case you need an x86 build.

    Ignore rregsvr32 on an interop Dll. That's just plain wrong because regsvr32 doesn't register .NET assemblies.


    Phil Wilson
    Thursday, April 29, 2010 6:35 PM
  • Phil

    Is just a simple WebSite that gets a user name and password from a user and a project name selected from a ddl, and than with a click of a button retrieves the date of checkin for each file in that project.I'm trying to runnit in a 64bit machine with Windows Server 2008 R2 Enterprise...

    I have checked the system registry using OLE/COM Object Viewer and in Type Libraries, Microsoft SourceSafe 6.0 Type Library (Ver 5.1) I get the following info:

    ______________________________________________

    Type Lib 

      |_{783CD4E4-9D54-11CF-B8EE-00608CC9A71F} 

    |_5.1 = Microsoft SourceSafe Type Library

    |

    |_0

    |   |_win32 =C:\Program Files (x86)\Microsoft Visual Studio\VSS\win32\SSAPI.dll

    |

    |_FLAGS = 0

    |_HELPDIR = C:\Program Files (x86)\Microsoft Visual Studio\VSS\win32

    _________________________________________

    Thanks in advance

    A_Oliveira

    Friday, April 30, 2010 9:10 AM
  • Hi,

    As per your comment you are running your application on 64bit machine.

    Try following things.

    First you find out which DLL you need in your project.

    UnRegister those DLL using regsvr -u command

    Restart your system

    Copy all DLL which you have unregistered in %systemroot%/SYSWOW/ directory where you will find REGSVR32 exe also.

    Go on command prompt using "Run as Administrator"

    user SYSWOW directory's REGSVR32 exe to register all your DLLs

    Then check your application.

    Hope it will help to solve your problem. Best Luck

     

    Regards,

    Hitendra


    Hitendra
    Friday, April 30, 2010 6:47 PM
  • Hitendra, thanks for your suggestion

    It didn't work also!!!

    I really don't know what else to do!I'm getting crazy with these problem...

    Monday, May 03, 2010 9:05 AM
  • Hi Oliveira....did you ever find a solution to this?

    Akin

    Monday, October 15, 2012 5:48 PM
  • I think it doesn't support 64-bit machines.
    Tuesday, October 23, 2012 3:51 PM
  • Ok, this might be a very old thread, but here goes:

    The problem (probably) that the VSS class (which is in a 32 bit COM dll) is registered, but since the website is running in 64 bit mode it won't find a correct registration (32 bit and 64 bit COM servers are registered separately).

    You can simply tell IIS to run your website as a 32 bit process. It is a property of the application pool called "enable32BitAppOnWin64".

    See this link: http://blogs.iis.net/thomad/archive/2008/05/06/in-a-nut-shell-shared-hosting-improvements-on-iis7.aspx

    And scroll to the bottom of the article the section called: Running Wow64

    • Proposed as answer by Jeroen Vos Friday, August 08, 2014 6:08 AM
    Tuesday, October 23, 2012 5:27 PM
  • A_Oliveira

    Did you find the solution to this problem? i'm having the same problem on the server. 

    Wednesday, June 26, 2013 7:06 PM
  • Friday, September 06, 2013 1:38 PM
  • This works!  I had this same problem.  Thank you!
    Thursday, April 10, 2014 1:36 PM
  • This is an earlier post that works ...

    Ok, this might be a very old thread, but here goes:

    The problem (probably) that the VSS class (which is in a 32 bit COM dll) is registered, but since the website is running in 64 bit mode it won't find a correct registration (32 bit and 64 bit COM servers are registered separately).

    You can simply tell IIS to run your website as a 32 bit process. It is a property of the application pool called "enable32BitAppOnWin64".

    Thursday, April 10, 2014 1:37 PM