[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