locked
comctl32.dll --- 64 bit version RRS feed

  • Question

  • We are porting a 32-bit native C++ application to 64 bit platform.  It compiles OK (after many troubles) using visual studio 2005 under vista business 64 bits OS.  When trying to run it either from IDE or double clicking the .exe,  we got "The application failed to initialize... 0xc00007b...." error.  It appears to be an error in loading process.  We used Dependency Walker on the ex and found that the comctl32.dll was shown for x86 CUP and the rest of system dll's and our own dll'd are shown "x64".  I guess we don't have the 64 bit version of comctl32.dll to make it work.  Having done quite a bit search online and installed the hotfix "Windows6.0-KB951327-x64.msu" which seems the only fix mentioned 64-bit comctl32.dll.  The installed comctl32.dll has newer version but still showed "x86" in Dependency Walker.

    Has anyone had the similar problem with comctl32.dll?  And how do we get the 64-bit version of it?

    Any suggestions and assistance will be greatly appreciated.

    • Edited by Carlsbad11 Thursday, June 26, 2008 6:07 PM typo
    Thursday, June 26, 2008 6:03 PM

Answers

  • Check your manifest dependency for Microsoft.Windows.Common-Controls.  The 64-bit version of it must have processorArchitecture='amd64'.  You'll load the wrong one if it is still 'x86'.
    Hans Passant.
    • Proposed as answer by Carlsbad11 Friday, June 27, 2008 2:59 PM
    • Marked as answer by nobugzModerator Friday, June 27, 2008 4:33 PM
    Thursday, June 26, 2008 6:22 PM
    Moderator

All replies

  • Check your manifest dependency for Microsoft.Windows.Common-Controls.  The 64-bit version of it must have processorArchitecture='amd64'.  You'll load the wrong one if it is still 'x86'.
    Hans Passant.
    • Proposed as answer by Carlsbad11 Friday, June 27, 2008 2:59 PM
    • Marked as answer by nobugzModerator Friday, June 27, 2008 4:33 PM
    Thursday, June 26, 2008 6:22 PM
    Moderator
  •  Thanks a lot for the quick reply. 

    It works after I made the change according to your suggestion. 
    Thank you again.

    nobugz said:

    Check your manifest dependency for Microsoft.Windows.Common-Controls.  The 64-bit version of it must have processorArchitecture='amd64'.  You'll load the wrong one if it is still 'x86'.


    Hans Passant.



    Friday, June 27, 2008 2:58 PM
  • I seem to have same issue. Where can I check these settings and how to fix it if it still says x86.

    UPDATE: I tried changing Properties -> Linker -> Manifest File -> Additional Manifest Dependencies.

     

    I added "processorArchitecture='amd64'" to it (without double quotes)

    But now when I try running it it says Side-By-Side  configuration is incorrect.

     


    mars
    Tuesday, July 13, 2010 9:17 PM