[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