It looks like the build available for the build cache will solve your problem - and this is the problem that the GAC designed to solve, but it is full.
Just send the same version of this DLL to both directories.
Manifests are used to ensure that your program uses a specific version of the DLL (or set of DLLs).
The most famous example is when your application tries to download comctl32.dll .
This dll is usually located on your system32 :
Directory of C:\Windows\System32 11/20/2010 09:25 ᴀᴍ 633,856 comctl32.dll 1 File(s) 633,856 bytes
And if you didn’t do anything, you will get this dll version (version 5.82). But usually this version of comctl32 not required for programs. Most programs written for Windows XP or later must be sure that they download version 6 from comctl32 . They do this by specifying an entry in the manifest of their executable assembly, stating that they need a specific version of the library of common controls:
<dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="X86" publicKeyToken="6595b64144ccf1df" language="*"> </assemblyIdentity> </dependentAssembly> </dependency>
Now, if the application is trying to download comctl32.dll , although the version is already in the search path (or even in the same folder), Windows will instead offer Version 6 of comctl32.dll . This dll is hidden in a special place where people should not touch:
Directory of C:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7600.16385_none_421189da2b7fabfc 07/13/2009 09:03 ᴩᴍ 1,680,896 comctl32.dll 1 File(s) 1,680,896 bytes
Bonus chatter . The reason WinSxS so great is because it contains every version of every DLL that someone might want. I count 3619 meetings. The reason you do not want to remove WinSxS is because the program requires one of these DLLs.
It looks like the solution you want is to create an Assembly manifest for Qt (which defines a series of related DLLs), and then register this assembly using the Windows system nearby.
Unfortunately, it seems that for deployment in WinSxS, assembly files must be digitally signed. It seems that only through the Windows installer can you build the assemblies installed in the Side-by-Side cache:
You must install common build side by side as components of a Windows Installer package. This may be the same installation package that is used to install or update your application. If the general assembly comes as part of several applications, you must provide a merge module that can be included in the installation packages of these applications and create a directory for the files in the assembly.
Installing assemblies requires Windows Installer 2.0 or later. For more information, see the Windows Installer SDK and sections under Installing Win32 Builds .
see also