[Qt-interest] redistribute QT application for Windows

David Ching dc at remove-this.dcsoft.com
Thu Apr 22 00:25:23 CEST 2010


"Nikos Chantziaras" <realnc at arcor.de> wrote in message 
news:hqnse4$175$1 at eple.troll.no...
> That might be duplicating what the user already has on his system. Also, 
> if you put those DLLs in your app's folder, and Microsoft issues a 
> security update for the system-wide DLLs through Windows Update, your app 
> will stay buggy since it's using your bundled DLLs and not the system 
> global, updated DLLs.
>

No, the standard manifest insures that any updated DLL's in the Windows SxS 
folder will be used instead of the ones in the Qt app's folder.  This is 
standard app-local installation behavior.  You have to jump through a 
non-documented manifest hack to continue using the outdated DLL's in the Qt 
app's folder, if there are newer ones in SxS.


> Silently installing vcredist_x86.exe (it should have such a "silent" 
> option) is the best way.  It will only install the DLLs if they're not 
> already there, or if they're old and outdated, and it will not replace 
> them if they're newer.

But there are problems with using vcredist_x86.exe.  First is it requires 
Admin priviledge.  (Using app local installation results in xcopy deployment 
not requiring Admin priviledge.)  Second, it adds its own Add/Remove Program 
entry making it prone to the user not knowing what it is and mistakenly 
uninstalling it separately from your app, rendering your app useless and 
likely a Tech Support incident.  Third, it requires altering the user's 
global system setup, making it unsuitable for e.g. distribution of a 
portable app on a USB key.

For this reason, either .msi merge modules or app-local deployment are 
preferable to vcredist_x86.exe.  About the only thing positive about 
vcredist is it is probably the easiest install implementation.

-- David 




More information about the Qt-interest-old mailing list