CRT, do we still need to redistribute it?

Do we still need to worry about vcredist.exe when distributing native Windows applications? Do any of them come bundled with Win-7?

If not, are there technical reasons why they are not sent to people through, for example, updating windows - instead of letting us burden our customers with some more such-and-such work? (Well, this may seem reasoned, but I'm really curious why these libraries are not installed or updated by default on Windows machines)

+4
source share
4 answers

I think it depends on how / with what you are connected. If you are directly associated with kernel32.dll, etc., then this, of course, does not matter (i.e., the runtime library is built-in), but Microsoft does not recommend this distribution method.

If you are connected via msvcr80 / 90 / whatever 2010 is.dll, you may need to distribute this runtime library, since on XP it is not included in the standard package. msvcr80 comes on Vista, but msvcr90 is not what I think, although it can be added by a Windows update. However, you cannot rely on what this means that fault tolerance should have a copy just in case.

As far as I know, msvcrt.dll (this link) is distributed with everything> xp. Link vc6 to this? Then I did not have VC ++.

Take a look at the executable using depends.exe from the Windows SDK and determine that it comes in from above and above parts of the Windows API.

+2
source

Yes Yes. Otherwise, your program will run amazingly when you try to run it. Many users do not start Win7, and even then there is no way to make sure that they are installed at run time without including it in your installer.

Alternatively, you can reference the static assembly of the runtime, avoiding the need to worry about distributing the C runtime.

+1
source

When compiling with GCC, I always contact MSVCRT.DLL, which is always present on XP and newer.

0
source

This is in response to a comment by Larry Osterman on April 14 at 23:29:

You speak:

msvcrt.dll is not a C runtime. It is an internal component of Windows that should never be used by third-party applications. You will notice that you cannot find MSDN links, use this DLL. Once upon a time, third-party applications used this, but it has not been for 10 years. - Larry Osterman April 14 at 23:29

This seemed to contradict the entire premise of the mingw system, which is based on access to msvcrt.dll, and your comment allowed me to better understand how mingw works. Turns out mingw is still using msvcrt.dll, which was shipped in 1998! See this link:

http://www.mingw.org/wiki/C99

Thanks,

Todd

0
source

Source: https://habr.com/ru/post/1306972/


All Articles