none
fatal error C1902: Program database manager mismatch; please check your installation

    Question

  • Hi,

    I am having trouble getting my MSVC Express 2005 / Platform SDK environment (downloaded from Microsoft about two weeks ago) so that it can compile debug binaries.

    If I don't give cl the -Zi option, I can compile and link correctly, but with -Zi, I get the following:

    $ /cygdrive/e/users/cmiss/physiome_builds/trees/xpcellml_api/cygwin-wrapper  cl -c -Zi -DXP_WIN32 -DXP_WIN -DWIN32 -D_WIN32 -DNO_X11 -EHsc -TP -nologo -MD -D__WIN32__ -DXP_WIN -DXP_WIN32 -D__x86__  -I/cygdrive/e/users/cmiss/physiome_builds/trees/mozilla_trunk/obj-i686-pc-cygwin/stablexr/dist/include/xpcom/ -I/cygdrive/e/users/cmiss/physiome_builds/trees/mozilla_trunk/obj-i686-pc-cygwin/stablexr/dist/include/nspr/ -I/cygdrive/e/users/cmiss/physiome_builds/trees/mozilla_trunk/obj-i686-pc-cygwin/stablexr/dist/include/necko/ -I/cygdrive/e/users/cmiss/physiome_builds/trees/mozilla_trunk/obj-i686-pc-cygwin/stablexr/dist/include/string/ -I/cygdrive/e/users/cmiss/physiome_builds/trees/XPCORBA/src -I/cygdrive/e/users/cmiss/physiome_builds/trees/XPCORBA -I/cygdrive/e/users/cmiss/physiome_builds/trees/XPCORBA/stubs -I/cygdrive/e/users/cmiss/physiome_builds/trees/XPCORBA/xpidls -I/cygdrive/e/users/cmiss/omniorb/VC8/omniORB-4.0.7/include -I/cygdrive/e/users/cmiss/omniorb/VC8/omniORB-4.0.7/include/omniORB4 -I stubs -Fostubs/MathML_content_APISPEC_xpcom.obj stubs/MathML_content_APISPEC_xpcom.cc
    MathML_content_APISPEC_xpcom.cc
    stubs/MathML_content_APISPEC_xpcom.cc : fatal error C1902: Program database manager mismatch; please check your installation

    It seems a few other people have had this error, but it looks like their underlying problem is different:

    http://msdn2.microsoft.com/en-us/library/8y7hea02.aspx
    "This error usually indicates that mspdbsrv.exe or mspdbcore.dll are missing or have different versions from mspdb80.dll. Ensure matching versions of mspdbsrv.exe, mspdbcore.dll, and mspdb80.dll are installed on your system."
    I have checked, the only mspdbsrv.exe, mspdbcore.dll, and mspdb80.dll found on the Win32 build box are in "/cygdrive/c/Program Files/Microsoft Visual Studio\ 8/Common7/IDE/", and these are the files put there by the MSVC Express installer. I have checked that the cl.exe getting run is from MSVC 2005 Express.

    http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=81208&SiteID=1
    suggests that the install is corrupt. However, I have tried re-installing MSVC8 with no success. Nothing has been installed more recently than MSVC8, and I don't have a mspdb80.dll in VC/Bin as one of the posts suggests deleting.

    http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=10577&SiteID=1
    suggests that it is due to mspdb80.dll in system32, which I don't have.

    http://forums.microsoft.com/msdn/showpost.aspx?postid=120192&siteid=1
    suggests deleting all output files, "Specially the pch files". However, in the stubs directory, the only files generated by MSVC are .obj files, and deleting them doesn't help. Are there files getting put outside of my build directory somewhere?

    http://support.microsoft.com/kb/920770/EN-US/ suggests that this can happen when you run through at or a scheduled task. Although my builds do normally run through a cronjob on a Linux box, which initiates the build on Win32, this problem happens when I manually initiate it. Note that I am building as a non-privileged account.

    Having eliminated all the existing problems, I suppose this is a new one? Any ideas on how I can fix this?

    Thursday, September 21, 2006 3:07 AM

Answers

  • I'm got that error too. In my case error caused, i have copied mspdb80.dll in ...\Microsoft Visual Studio 8\VC\bin to work with dumpbin.exe...
    My Solution:
    When i removed mspdb80.dll from there, VC compiler don't have this error now...


    Saturday, October 07, 2006 10:36 AM
  • Since all the rest of the solutions don't fix your issues, please log the issue at http://connect.microsoft.com/Main/content/content.aspx?ContentID=2220

    Thanks,
    Ayman Shoukry
    VC++ Team
    Thursday, September 21, 2006 6:17 PM
    Moderator
  • This issue is caused because cygwin does not implement a full login process. It tries to impersonate, but it looks to me as if it does not make the necessary call to LsaLogonUser. As a result, the wrong SID is in the token as the primary user. According to filemon, the debug server calls into secur32, which suggests that it is doing interpretive access control. It finds the service's SID instead of the users SID in some slot in the token that it gets via RPC, and then everything goes downhill from there.

    Why VS feels the need to put the PDB access in a separate process under separate access rights is very puzzling, but there it is.

    Thursday, October 05, 2006 6:20 PM

All replies

  • Since all the rest of the solutions don't fix your issues, please log the issue at http://connect.microsoft.com/Main/content/content.aspx?ContentID=2220

    Thanks,
    Ayman Shoukry
    VC++ Team
    Thursday, September 21, 2006 6:17 PM
    Moderator
  • This issue is caused because cygwin does not implement a full login process. It tries to impersonate, but it looks to me as if it does not make the necessary call to LsaLogonUser. As a result, the wrong SID is in the token as the primary user. According to filemon, the debug server calls into secur32, which suggests that it is doing interpretive access control. It finds the service's SID instead of the users SID in some slot in the token that it gets via RPC, and then everything goes downhill from there.

    Why VS feels the need to put the PDB access in a separate process under separate access rights is very puzzling, but there it is.

    Thursday, October 05, 2006 6:20 PM
  • I'm got that error too. In my case error caused, i have copied mspdb80.dll in ...\Microsoft Visual Studio 8\VC\bin to work with dumpbin.exe...
    My Solution:
    When i removed mspdb80.dll from there, VC compiler don't have this error now...


    Saturday, October 07, 2006 10:36 AM
  • I have the exact problem as va4es2 from the same reason (dumpbin not working). Never crossed my mind that devenv would stop working after that ....
    Friday, November 24, 2006 8:44 AM
  •  Andrei Anghel wrote:
    I have the exact problem as va4es2 from the same reason (dumpbin not working). Never crossed my mind that devenv would stop working after that ....
    OMG... I just wasted... ARGH!

    THANK GAWD FOR GOOGLE. (that's how I found these posts)

    I had JUST done the same thing yesterday in order to get dumpbin working. VC still worked after that, but in hindsight that was 'cause he already had his DLLs loaded. Once I had closed down VC and then reloaded it, I got this error.


    A point of clarification. In my case (and va4es2's and Andrei 's) the issue comes from having put mspdb80.dll INTO the vc\bin directory. That point wasn't clear to me from va4es2's post. In my freaking-out, I read it as he had copied it somewhere else on his system which 'caused VC to freak out.

    I figure that what we really did was copy a different version of the DLL (in my case 168k from 9/2005) into the directory and VC found that before finding "his" (169k from 6/2006, in Common7\IDE) and that basically hosed him.

    THANK YOU GUYS!


    Okay... back to coding.

    Sunday, December 10, 2006 9:37 PM
  • Message:

    "Program database manager mismatch; please check your installation"

    Relates to:

    MS C++ 2005 Express
    MS C++ 2008 Express

    Solution:

    Delete the copy of "mspdb80.dll" that resides in "C:\Windows\System32"


    Thursday, November 01, 2007 12:49 PM
  • I also had this problem.  How does one get dumpbin to work as it appears that the installation is defective?

    Monday, January 21, 2008 8:57 PM
  • As of December 31 2008, yesterday when I registered my VisualC++ 2008 copy, I started to have the error:

    "fatal error C1902: Program database manager mismatch; please check your installation"

    I figured out that this issue will be solved by updating VisualC++ 2008, because this bug is old

    And it did :)
    gizeh
    Wednesday, December 31, 2008 4:12 PM
  • No it did not!
    I have a clean installation of the VS2008, and it still gave me this message. Thank to the guys (midiwall, va4es2's and Andrei) I just renamed (!) the mspdb80.dll in the vc\bin... and the messages disappeared, and the project began to compile :) I double-checked the mspdb version in the Common7\IDE - and it is actually the same as I renamed.

    Looks like it is still a problem.

    Anyway, thank you again guys!


    Mike Faynberg
    Saturday, February 14, 2009 2:28 AM
  • I have a 64 bit VS2010 Ultra Windows 7 (both at SP1 ) which for the most part runs under 32bits and have an identical problem so I have some questions. The creation date is the one to be concerned with? How about the particular files? How large should the desireable files be for 64 bits?

    Renee



    Saturday, April 09, 2011 2:23 PM