PDA

View Full Version : How to deploy Qt-dlls for windows



niko
18th March 2007, 16:10
Hello,

I'm currently creating an installer using NSIS - so far it was fairly easy.
But one question: where should i install the Qt-dlls?
QtCore4.dll, QtGui4.dll etc...
Installing them in the application folder means every qt application has to install his own version of them (WengoPhone does it like that).

Wouldn't it make more sense to install them in c:/windows/system32?

Would it cause troubles when any other installer updates them?

thanks,
niko

jpn
18th March 2007, 17:09
But one question: where should i install the Qt-dlls?
QtCore4.dll, QtGui4.dll etc...
Installing them in the application folder means every qt application has to install his own version of them (WengoPhone does it like that).

Yes, I think that's quite common way do deploy the libs on Windows.



Wouldn't it make more sense to install them in c:/windows/system32?

Would it cause troubles when any other installer updates them?

The problem is that any other installation overwriting them with older versions could even prevent your application from launching. For example, let's say your application depends on new functions introduced in Qt 4.2 and some other installer overwrites the dll's with 4.1 ones.

niko
18th March 2007, 17:30
The problem is that any other installation overwriting them with older versions could even prevent your application from launching. For example, let's say your application depends on new functions introduced in Qt 4.2 and some other installer overwrites the dll's with 4.1 ones.
and installers actually do this? this is crazy!

ok, so i'll pack them into my installation folder - no problem for me :D

thanks!
niko

jpn
18th March 2007, 17:48
and installers actually do this? this is crazy!
Well, depending on the installer, usually the user is prompted with a question like "A newer version of this file exists, blaablaa?" But you never can be sure what people answer to them, if they even bother to read the popups.. :)

Brandybuck
18th March 2007, 18:04
If there is only one executable, you might consider statically linking it. Then you don't have to bother with DLLs.

niko
18th March 2007, 19:11
If there is only one executable, you might consider statically linking it. Then you don't have to bother with DLLs.
hmm.. yes, that would be another option i will cosider...