Trolltech Home | Qt-interest Home | Recent Threads | All Threads | Author | Date
All threads index page 1

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 ]