[Qt-interest] (solved) Mismatched VC90 CRT versions in manifest file
David Ching
dc at remove-this.dcsoft.com
Fri Jan 29 04:41:56 CET 2010
"Dave Smith" <dave at thesmithfam.org> wrote in message
news:4B61F8AC.1020007 at thesmithfam.org...
> There is indeed a problem with VS 2008 SP1. The manifest files that it
> bundles in the Qt DLLs and my application executable depend on an older
> version of the VC90 CRT. To fix it, I have to include that version of the
> CRT in my application installation folder (inside Microsoft.VC90.CRT). I
> will post a blog article on how I fixed it. I can now install Qt apps on a
> fresh XP machine without using the lame vcredist installer.
>
Glad you solved it. I'm puzzled why the Qt DLL's "depend on an older
version" when you said QtCore4.dll depended on 9.0.30729.4148, which is the
latest version of the redistributables (ATL Security Update). Did you
rebuild Qt a different way after you said that?
Regardless, if both your Qt DLL's and your .exe depend on the RTM
redistributables, yes, you do need to redistribute the RTM version. Trouble
is, the vc\redist folder containing these is updated to 9.0.30729.4148, and
there is no easy way of getting the RTM ones back (that I could find),
unless you had saved them from before the update occurred.
BTW, I downloaded and installed the pre-built Qt 4.6.1 for VS2008 from
qt.nokia.com. The Qt DLL's there were built with VS2008 RTM. So if you
simply use those and also build your app without
_BIND_TO_CURRENT_VCLIBS_VERSION defined, then no matter what the state of
your VS2008 (RTM, SP1, or ATL Security Update), all you have to do is find
and redist the RTM versions, and you will be fine.
-- David
More information about the Qt-interest-old
mailing list