none
Manifest related: Entry point not found in debug build

    Question

  • Short:
    Why would enabling build of a manifest cause problem with resolving entry points in system DLLs at run time and how can this be fixed?

    Details:
    In VC 2005, enabling the creation of a manifest causes troubles in the debug build of a 32 bit MFC application. When a release build of the program is copied to a test VM and executed the program will run without complaint. However, copying a debug build to the same VM and trying to run it results in the display of an error message box.

    "The procedure entry point RegGetValueW could not be located in the dynamic link library ADVAPI32.dll."

    My code does not directly call RegGetValueW.
    The error message started after I added code that makes use of other win32 functions ( RegOpenKey, RegQueryValueEx, RegCloseKey, RegCreateKeyEx, RegSetValueEx)
    MFC library is linked statically.
    Character Set is Unicode.
    Linking with psapi, rcprt4 and version.

    If I disable creation of the manifest in the build configuration then the program runs without complaint. The question is, why? What am I missing?
    Richard Lewis Haggard
    Friday, April 24, 2009 7:40 PM

Answers

  • Bizarre problem, a manifest doesn't contain entries for the system DLLs.  RegGetValue() is only available on Vista, I'd assume that has something to do with it.  What does your VM boot?  Run Dumpbin.exe /imports on your .exe to double-check.  Watch out for macros.
    Hans Passant.
    • Marked as answer by Nancy Shao Thursday, April 30, 2009 2:33 AM
    Friday, April 24, 2009 8:04 PM
    Moderator
  • The error went away when I disabled manifest in the build options so that's good enough for me..
    Richard Lewis Haggard
    • Marked as answer by RickLH Saturday, May 02, 2009 12:09 AM
    Saturday, May 02, 2009 12:09 AM

All replies

  • Bizarre problem, a manifest doesn't contain entries for the system DLLs.  RegGetValue() is only available on Vista, I'd assume that has something to do with it.  What does your VM boot?  Run Dumpbin.exe /imports on your .exe to double-check.  Watch out for macros.
    Hans Passant.
    • Marked as answer by Nancy Shao Thursday, April 30, 2009 2:33 AM
    Friday, April 24, 2009 8:04 PM
    Moderator
  • The error went away when I disabled manifest in the build options so that's good enough for me..
    Richard Lewis Haggard
    • Marked as answer by RickLH Saturday, May 02, 2009 12:09 AM
    Saturday, May 02, 2009 12:09 AM