Qt-interest Archive, April 2008
Windows msvcr80.dll vs. QT 4.3
Message 1 in thread
When building QT apps with version 4.2.x and VS 2005, I was able to
drop the Microsoft.VC80.CRT folder into the application folder, and
the app would happily run.
Now with 4.3.x, that no longer works - trying to launch the app on XP
machines that don't have the developer environment installed results
in the dreaded "application configuration is incorrect" error message.
It seems to be a problem in manifests, but I'm completely stumped.
Dependency Walker isn't helping me (it's complaining about dwmapi.dll,
but I don't think that's the problem since I always see that, even on
my dev machine).
Building full installers, or asking users to run vcredist, is way
overkill for some things. For a simple app I'd really just prefer a
folder with the app and necessary dll's.
So what am I missing? What changed in 4.3 with respect to manifests?
Thanks for any hints or clues!
Mike Blackwell
--
[ signature omitted ]
Message 2 in thread
Hi,
Before starting your application on machines where you don't have installed
VS environment, run the vcredist_x86.exe. It is usually in this directory:
C:\Program Files\Microsoft Visual Studio
8\SDK\v2.0\BootStrapper\Packages\vcredist_x86 on your computer.
If this is not working please let me now.
Best regards,
Aram.
On Tue, Apr 1, 2008 at 7:37 PM, Mike Blackwell <mkblackwell@xxxxxxxxx>
wrote:
> When building QT apps with version 4.2.x and VS 2005, I was able to
> drop the Microsoft.VC80.CRT folder into the application folder, and
> the app would happily run.
>
> Now with 4.3.x, that no longer works - trying to launch the app on XP
> machines that don't have the developer environment installed results
> in the dreaded "application configuration is incorrect" error message.
>
> It seems to be a problem in manifests, but I'm completely stumped.
> Dependency Walker isn't helping me (it's complaining about dwmapi.dll,
> but I don't think that's the problem since I always see that, even on
> my dev machine).
>
> Building full installers, or asking users to run vcredist, is way
> overkill for some things. For a simple app I'd really just prefer a
> folder with the app and necessary dll's.
>
> So what am I missing? What changed in 4.3 with respect to manifests?
>
> Thanks for any hints or clues!
>
> Mike Blackwell
>
> --
> To unsubscribe - send a mail to qt-interest-request@xxxxxxxxxxxxx with
> "unsubscribe" in the subject or the body.
> List archive and information: http://lists.trolltech.com/qt-interest/
>
>
--
[ signature omitted ]
Message 3 in thread
On 2008-04-01 10:37:02 -0400, "Mike Blackwell" <mkblackwell@xxxxxxxxx> said:
> When building QT apps with version 4.2.x and VS 2005, I was able to
> drop the Microsoft.VC80.CRT folder into the application folder, and
> the app would happily run.
>
> Now with 4.3.x, that no longer works - trying to launch the app on XP
> machines that don't have the developer environment installed results
> in the dreaded "application configuration is incorrect" error message.
>
> It seems to be a problem in manifests, but I'm completely stumped.
> Dependency Walker isn't helping me (it's complaining about dwmapi.dll,
> but I don't think that's the problem since I always see that, even on
> my dev machine).
>
> Building full installers, or asking users to run vcredist, is way
> overkill for some things. For a simple app I'd really just prefer a
> folder with the app and necessary dll's.
>
> So what am I missing? What changed in 4.3 with respect to manifests?
>
> Thanks for any hints or clues!
>
> Mike Blackwell
Not to be a broken record here but if you use CMake instead of qmake to
generate the VS projects then the manifest and dll's are properly
generated and included.
Since I ran into this last month and my users can't install the
vcredist.exe thing since they don't have admin rights on their machines.
Mike
--
[ signature omitted ]
Message 4 in thread
On Thu, Apr 3, 2008 at 8:16 PM, Mike Jackson <imikejackson@xxxxxxxxx> wrote:
> Not to be a broken record here but if you use CMake instead of qmake to
> generate the VS projects then the manifest and dll's are properly generated
> and included.
I recompile Qt using -MT instead of -MD which also fixes this by
including it statically instead.
--
[ signature omitted ]
Message 5 in thread
On torsdag den 3. April 2008, Mike Jackson wrote:
> Not to be a broken record here but if you use CMake instead of qmake to
> generate the VS projects then the manifest and dll's are properly
> generated and included.
There might be good reasons for using CMake, but this isn't one of them.
Copied from assistant:
"We need to copy the manifest file created when linking the application. This
manifest file contains information about the application's dependencies on
side-by-side assemblies, such as the runtime libraries. The manifest file
needs to be copied into the same folder as the application executable. You do
not need to copy the manifest files for shared libraries (DLLs), since they
are not used. If the shared library has different dependencies than the
application using it, the manifest file needs to be embedded into the DLL
binary. In Qt 4.1.3 and later we have the following CONFIG options for
embedding manifests:
embed_manifest_dll
embed_manifest_exe
To use the options, add
CONFIG += embed_manifest_exe"
Type "manifest" in the search field, and you'll get this as the first hit.
Sincerely,
Bo Thorsen.
--
[ signature omitted ]