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

Qt-interest Archive, July 2007
Qt 4.3.0 application deployment


Message 1 in thread

Hi

The only way I found to deploy my Qt 4.3.0 application is folllowing:
create install package
  [Drive]:\App\App.exe
  [Drive]:\App\App.exe
  [Drive]:\App\App.exe.manifest
  [Drive]:\App\Microsoft.VC80.CRT.manifest
  [Drive]:\App\msvcp80.dll
  [Drive]:\App\msvcr80.dll
  [Drive]:\App\QtCore4.dll
  [Drive]:\App\QtGui4.dll
  [Drive]:\App\QtSql4.dll
  [Drive]:\App\sqldrivers\libmySQL.dll
  [Drive]:\App\sqldrivers\qsqlmysql4.dll
  [Drive]:\App\sqldrivers\Microsoft.VC80.CRT.manifest
  [Drive]:\App\sqldrivers\msvcp80.dll
  [Drive]:\App\sqldrivers\msvcr80.dll

Is it possible to do subj. in a good old way: copy C runtime libraries to 
<system32>
and keep executables/application-specific-dlls in application folder ?

Regards,
David.

--
 [ signature omitted ] 

Message 2 in thread

On fredag den 27. Juli 2007, David Osipyan wrote:
> Hi
>
> The only way I found to deploy my Qt 4.3.0 application is folllowing:
> create install package
>   [Drive]:\App\App.exe
>   [Drive]:\App\App.exe
>   [Drive]:\App\App.exe.manifest
>   [Drive]:\App\Microsoft.VC80.CRT.manifest
>   [Drive]:\App\msvcp80.dll
>   [Drive]:\App\msvcr80.dll
>   [Drive]:\App\QtCore4.dll
>   [Drive]:\App\QtGui4.dll
>   [Drive]:\App\QtSql4.dll
>   [Drive]:\App\sqldrivers\libmySQL.dll
>   [Drive]:\App\sqldrivers\qsqlmysql4.dll
>   [Drive]:\App\sqldrivers\Microsoft.VC80.CRT.manifest
>   [Drive]:\App\sqldrivers\msvcp80.dll
>   [Drive]:\App\sqldrivers\msvcr80.dll
>
> Is it possible to do subj. in a good old way: copy C runtime libraries to
> <system32>
> and keep executables/application-specific-dlls in application folder ?

I know this has always been the way to do it on Windows, but 1) I don't think 
that is the right way any more. And 2) I really don't like applications 
writing outside of their own directory.

By keeping the files inside the application directory, cleanup becomes much 
simpler.

One small thing: You can have the manifest file inside the executables by 
using this in your .pro file: "CONFIG += embed_manifest_exe". If you want to 
embed it in a DLL file, the same config option is used, except that it 
reads "_dll".

Bo.

-- 
 [ signature omitted ] 

Message 3 in thread

You don't have to supply the msvc*.dll runtime libraries directly (and
Microsoft does not recommend it either).

Embedding the manifest into your application and supplying the client
with the vcredist.exe (MS recommended way) which ships with visual
studio should be sufficient... but then again, I haven't made my whole
way through manifest hell yet either.

- Thomas

2007/7/27, Bo Thorsen <bo@xxxxxxxxxxxxxxxxxxxxx>:
> On fredag den 27. Juli 2007, David Osipyan wrote:
> > Hi
> >
> > The only way I found to deploy my Qt 4.3.0 application is folllowing:
> > create install package
> >   [Drive]:\App\App.exe
> >   [Drive]:\App\App.exe
> >   [Drive]:\App\App.exe.manifest
> >   [Drive]:\App\Microsoft.VC80.CRT.manifest
> >   [Drive]:\App\msvcp80.dll
> >   [Drive]:\App\msvcr80.dll
> >   [Drive]:\App\QtCore4.dll
> >   [Drive]:\App\QtGui4.dll
> >   [Drive]:\App\QtSql4.dll
> >   [Drive]:\App\sqldrivers\libmySQL.dll
> >   [Drive]:\App\sqldrivers\qsqlmysql4.dll
> >   [Drive]:\App\sqldrivers\Microsoft.VC80.CRT.manifest
> >   [Drive]:\App\sqldrivers\msvcp80.dll
> >   [Drive]:\App\sqldrivers\msvcr80.dll
> >
> > Is it possible to do subj. in a good old way: copy C runtime libraries to
> > <system32>
> > and keep executables/application-specific-dlls in application folder ?
>
> I know this has always been the way to do it on Windows, but 1) I don't think
> that is the right way any more. And 2) I really don't like applications
> writing outside of their own directory.
>
> By keeping the files inside the application directory, cleanup becomes much
> simpler.
>
> One small thing: You can have the manifest file inside the executables by
> using this in your .pro file: "CONFIG += embed_manifest_exe". If you want to
> embed it in a DLL file, the same config option is used, except that it
> reads "_dll".
>
> Bo.
>
> --
>
> Thorsen Consulting ApS - Qt consulting services
> http://www.thorsen-consulting.dk
>
> --
> 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 4 in thread

Thanks alot !

I did it.

----- Original Message ----- 
From: "Thomas Dähling" <t.daehling@xxxxxxxxxxxxxx>
To: <qt-interest@xxxxxxxxxxxxx>
Sent: Friday, July 27, 2007 1:07 PM
Subject: Re: Qt 4.3.0 application deployment


> You don't have to supply the msvc*.dll runtime libraries directly (and
> Microsoft does not recommend it either).
>
> Embedding the manifest into your application and supplying the client
> with the vcredist.exe (MS recommended way) which ships with visual
> studio should be sufficient... but then again, I haven't made my whole
> way through manifest hell yet either.
>
> - Thomas
>
> 2007/7/27, Bo Thorsen <bo@xxxxxxxxxxxxxxxxxxxxx>:
>> On fredag den 27. Juli 2007, David Osipyan wrote:
>> > Hi
>> >
>> > The only way I found to deploy my Qt 4.3.0 application is folllowing:
>> > create install package
>> >   [Drive]:\App\App.exe
>> >   [Drive]:\App\App.exe
>> >   [Drive]:\App\App.exe.manifest
>> >   [Drive]:\App\Microsoft.VC80.CRT.manifest
>> >   [Drive]:\App\msvcp80.dll
>> >   [Drive]:\App\msvcr80.dll
>> >   [Drive]:\App\QtCore4.dll
>> >   [Drive]:\App\QtGui4.dll
>> >   [Drive]:\App\QtSql4.dll
>> >   [Drive]:\App\sqldrivers\libmySQL.dll
>> >   [Drive]:\App\sqldrivers\qsqlmysql4.dll
>> >   [Drive]:\App\sqldrivers\Microsoft.VC80.CRT.manifest
>> >   [Drive]:\App\sqldrivers\msvcp80.dll
>> >   [Drive]:\App\sqldrivers\msvcr80.dll
>> >
>> > Is it possible to do subj. in a good old way: copy C runtime libraries 
>> > to
>> > <system32>
>> > and keep executables/application-specific-dlls in application folder ?
>>
>> I know this has always been the way to do it on Windows, but 1) I don't 
>> think
>> that is the right way any more. And 2) I really don't like applications
>> writing outside of their own directory.
>>
>> By keeping the files inside the application directory, cleanup becomes 
>> much
>> simpler.
>>
>> One small thing: You can have the manifest file inside the executables by
>> using this in your .pro file: "CONFIG += embed_manifest_exe". If you want 
>> to
>> embed it in a DLL file, the same config option is used, except that it
>> reads "_dll".
>>
>> Bo.
>>
>> --
>>
>> Thorsen Consulting ApS - Qt consulting services
>> http://www.thorsen-consulting.dk
>>
>> --
>> 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/
>>
>>
>
> --
> 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 5 in thread

On fredag den 27. Juli 2007, Thomas Dähling wrote:
> You don't have to supply the msvc*.dll runtime libraries directly (and
> Microsoft does not recommend it either).

Really? What is this about, then: 
http://www.microsoft.com/downloads/details.aspx?familyid=32bc1bee-a3f9-4c13-9c99-220b62a191ee&displaylang=en

This has exactly those libraries, and it is up to your whether you use this 
installer, or you add those library files yourself.

This is also mentioned on here:
http://doc.trolltech.com/4.3/deployment-windows.html#visual-studio-2005

Bo.

-- 
 [ signature omitted ] 

Message 6 in thread

Yes.
I included vcredist_x86.exe  to Innno Setup Compiler script (according to 
Thomas suggestion).
That's all.
Innno Setup Compiler is free and available from http://www.jrsoftware.org/

Thanks again.

David.

----- Original Message ----- 
From: "Bo Thorsen" <bo@xxxxxxxxxxxxxxxxxxxxx>
To: <qt-interest@xxxxxxxxxxxxx>
Sent: Friday, July 27, 2007 1:17 PM
Subject: Re: Qt 4.3.0 application deployment


On fredag den 27. Juli 2007, Thomas Dähling wrote:
> You don't have to supply the msvc*.dll runtime libraries directly (and
> Microsoft does not recommend it either).

Really? What is this about, then:
http://www.microsoft.com/downloads/details.aspx?familyid=32bc1bee-a3f9-4c13-9c99-220b62a191ee&displaylang=en

This has exactly those libraries, and it is up to your whether you use this
installer, or you add those library files yourself.

This is also mentioned on here:
http://doc.trolltech.com/4.3/deployment-windows.html#visual-studio-2005

Bo.

-- 
 [ signature omitted ] 

Message 7 in thread

I stand corrected, Microsoft actually recommends three different
deployment methods
(http://msdn2.microsoft.com/en-us/library/ms235316(VS.80).aspx),
including yours (#3).  :-)

2007/7/27, Bo Thorsen <bo@xxxxxxxxxxxxxxxxxxxxx>:
> On fredag den 27. Juli 2007, Thomas Dähling wrote:
> > You don't have to supply the msvc*.dll runtime libraries directly (and
> > Microsoft does not recommend it either).
>
> Really? What is this about, then:
> http://www.microsoft.com/downloads/details.aspx?familyid=32bc1bee-a3f9-4c13-9c99-220b62a191ee&displaylang=en
>
> This has exactly those libraries, and it is up to your whether you use this
> installer, or you add those library files yourself.
>
> This is also mentioned on here:
> http://doc.trolltech.com/4.3/deployment-windows.html#visual-studio-2005
>
> Bo.
>
> --
>
> Thorsen Consulting ApS - Qt consulting services
> http://www.thorsen-consulting.dk
>
> --
> 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 8 in thread

On 7/27/07, Thomas Dähling <t.daehling@xxxxxxxxxxxxxx> wrote:
> You don't have to supply the msvc*.dll runtime libraries directly (and
> Microsoft does not recommend it either).

We deploy a single binary with dlls using VS2003, however, I recompile
Qt and my application with /MT instead of default /MD which compiles
the C/C++ runtime statically into the application.

Check the documentation for these flags and they'll probably help you
through it.

-- 
 [ signature omitted ] 

Message 9 in thread

> We deploy a single binary with dlls using VS2003, however, I recompile

Deployment behavior changed considerably with VS2005. In fact, it can 
become a PITA now and then...

Micha

--
 [ signature omitted ]