files I need to distribute

  • Thread starter Thread starter mike7411
  • Start date Start date
M

mike7411

Is there an easy way to tell which files I need to distribute with
my Microsoft Visual Studio 2005 MFC application?

I keep getting a vague message on my target computer saying
the application configuration is incorrect.
 
Is there an easy way to tell which files I need to distribute with
my Microsoft Visual Studio 2005 MFC application?

I keep getting a vague message on my target computer saying
the application configuration is incorrect.

Use Dependency Walker

Arnaud
MVP - VC
 
Is there an easy way to tell which files I need to distribute with
my Microsoft Visual Studio 2005 MFC application?

I keep getting a vague message on my target computer saying
the application configuration is incorrect.

You need to redistribute the runtime dlls and their manifest files.
this is something new in VS2005.

There is a good article on codeproject about this topic:
http://www.codeproject.com/cpp/vcredists_x86.asp

Another option is to use statice linkage to the CRT and MFC runtime.
that way you don't need to distribute dlls.

--

Kind regards,
Bruno van Dooren
(e-mail address removed)
Remove only "_nos_pam"
 
Bruno said:
You need to redistribute the runtime dlls and their manifest files.
this is something new in VS2005.

There is a good article on codeproject about this topic:
http://www.codeproject.com/cpp/vcredists_x86.asp

Another option is to use statice linkage to the CRT and MFC runtime.
that way you don't need to distribute dlls.

Static linkage is not such a good idea since not only every DLL in the
project will have its own runtime and that will blow-up the application
size and memory needs, but every DLL will have its own memory manager,
which *may* lead to some hard-to find problems.
 
Static linkage is not such a good idea since not only every DLL in the
project will have its own runtime and that will blow-up the application
size and memory needs,

Blow up is a bit drastic I think. It was the default for VC2003 release
builds.
but every DLL will have its own memory manager,
which *may* lead to some hard-to find problems.

Memory ownership should stay within module boundaries anyway.
if you allocate mem in a dll, it should be deleted in the dll.
not following this rule means that you can use a dll only with applications
that use the same CRT version.
result in that case:
- hard to find problems.
- you force all users to use the same compiler version.
- you force all users to use dynamic linkage.

--

Kind regards,
Bruno van Dooren
(e-mail address removed)
Remove only "_nos_pam"
 
Back
Top