[Qt-interest] Qt 4.5.0 and manifest files

Pascal Patry iscy at invalidip.com
Mon Mar 16 22:13:55 CET 2009


Hi, I'm experiencing a problem that has to do with manifest files since I switched to Qt 
4.5.0. I'm bundling the application using this directory structure:

app
  \bin
    app.exe
    Qt*.dll
    msvc[rmp]90d.dll
    Microsoft.VC90.DebugCRT.manifest
  \plugins
    \imageformats
      qjpegd4.dll

Previously, that used to work on both platform considering and ignore manifest files. Now, 
XP SP2+ and Vista (platform considering manifest files) are not able to load the jpeg 
plugin. The error written to the debug output on XP is:

LDR: LdrpWalkImportDescriptor() failed to probe C:\Program 
Files\app\plugins\imageformats\qjpegd4.dll for its manifest, ntstatus 0xc0150002

The event viewer shows that the depency on 'VC90.DebugCRT.manifest' is not correctly 
satisfied. So, if I copy "Microsoft.VC90.DebugCRT.manifest" and the 3 msvc[rmp]90d.dll to 
the directory "app\plugins\imageformats\.", then the application will be able to load the 
plugin correctly. However, this is not an acceptable workaround. I have a few more 
directories with plugins (like sqldrivers, codecs, ...) and I would then need to copy 
these files to all of them.

It used to work before because manifest files were not embedded inside DLL. The change was 
probably done because new platforms will now require a manifest for every executable and 
dll. So is there any way of achieving this cleanly without removing the manifest inside 
the DLLs and duplicating the DebugCRT one?

Thank you,





More information about the Qt-interest-old mailing list