On 11 avr, 12:17, Andreas Schmitt <keldorkat...@gmx.dewrote:
Quote:
JS schrieb:
>
Quote:
I had a similar problem last week. Get the vcredist off of your
computer and install it on the other computer. Perhaps you have
VS2005 SP2 and the other computer does not have SP2. That was my
problem last week.
>
I kinda want to write a DLL that can be used on any Windows Platform,
whether VS2005 is installed or not.
So that as a fact means that compiling with Multithreaded-DLL runtime
library is a No-Go for that, right?
Not exactly.
If you compile against a DLL version of the CRT, you need to
redistribute it alongside your own binary.
Quote:
When is that compiler setting useful?
Almost always. This is the recommended setting for several reasons
(eg, disk space, possibility fot the DLL to be "serviced" by Microsoft
in the case of a security patch, etc....)
Quote:
Just for using it for testing?
I mean I can't always distribute the entire vcredist together with my
programs just so people can run them.
Why not?
Anyway, it all depends on how you redistribute your soft.
If you have a setup for your app, you can integrate the CRT within the
setup (the MSMs are installed on your dev machine when you install/
update Visual Studio 2005).
On the other hand, if you absolutely want to be able to distribute
your app by simple copy, then you need either :
- to redistribute vcredist.exe and have the user launch it.
- to copy the content of <Visual Studio Install Path>\VC\redist
\x86\Microsoft.VC80.CRT alongside your binary (in the same directory).
- to link statically against the CRT.
2nd and 3rd options are easier, but they are less recommended because
they do not allow the CRT to be serviced by MS in case of a security
breach.
Arnaud
MVP - VC