[Qt-interest] Deploy Application on Windows

David Ching dc at dcsoft.com
Sat Apr 4 01:05:47 CEST 2009


> Date: Fri, 03 Apr 2009 20:29:53 +0100
> From: Thiago Macieira <thiago.macieira at trolltech.com>
> Subject: Re: [Qt-interest] Deploy Application on Windows
>
> That's correct.
> 
> The VS2005 build is SP1.
> The VS2008 build is not SP1.
> 
> Building both service pack levels would be extremely difficult. So
> we're
> considering what to do now for VS2008. If we leave it as it is, people
> who
> have upgraded like you will have problems. If we upgrade, then people
> who
> haven't upgraded yet will have problems.
> 
> Ideally, we wouldn't upgrade the compiler in our package builder until
> 4.6, but it looks like something we'll have to do sooner than that.
> 
> In other words, blame Microsoft for breaking binary compatibility too
> often.
> 

I think one way or the other, the current situation needs to change.  It is
not at all apparent that the commercial VS2005 is for SP1 and the commercial
VS2008 is for SP1.  It should be in bold letters that these compiler
versions are required, and if not, the user will have problems deploying
apps against these Qt libraries.  Myself, I did not know this and spent a
few hours using a VM trying to run my app on a clean system and debugging
the resulting deployment issues.

What some library makers have done (e.g. the CodeJock MFC library on
Windows), is they don't bundle any pre-built library.  Instead, they have a
nice installer package that scans the user's PC for installed versions of
Visual Studio and ASKS THE USER which of these to support.  As well as what
options they want such as do they want static or dynamic libraries?  Then it
builds the libraries for the user's preference.  This would be simple for
Nokia to implement.  Already you have most of that with the Configure app.
You just need to add a nice installer to specify the right command-line
options and run it.

I think this is a far better solution than what Qt does currently.  It can't
possibly provide pre-built libraries for the many combinations of options
the user wants, so it makes it extremely easy to build those at install time
(without reading any documents and running command-line apps).  And the user
is left with the exact built libraries with the exact options they want (and
not what Qt thinks they want), and the user won't try to deploy mismatched
apps because the document about the required compiler versions was missing,
not pointed to with sufficient force, or not read or forgotten for some
other reason.

Thanks,
David 






More information about the Qt-interest-old mailing list