Являются ли динамические библиотеки времени выполнения Visual C ++ частью ОС Windows в настоящее время?

Являются ли динамические библиотеки времени выполнения для Visual C ++ (в частности, 2008) частью операционной системы Windows в настоящее время? Я заметил, что по крайней мере в Windows 8 вам больше не нужно поставлять их вместе с вашим приложением или попросить пользователя установить распространяемый пакет от Microsoft.

Это правда? Если да, то для каких версий Windows и для каких версий Visual C ++ это применимо?

7

Решение

Нет, они никогда не были частью дистрибутива Windows. Развертывание их самостоятельно является жестким требованием.

Это, конечно, может казаться что они есть. Начиная с msvcrt.dll в каталоге system32, он имеет то же имя, что и DLL-библиотека времени выполнения C ++ в версиях Visual Studio до VS2002 (VS6 и более ранние). Однако это частная копия CRT, которая используется исполняемыми файлами Windows. И защищен функцией защиты файловой системы в Windows, предотвращающей разрушение операционной системы старыми установщиками.

Это, конечно, часто работает случайно. Есть много программы, которые требуют Microsoft CRT, поэтому весьма вероятно, что пользователь запустил установщик до того, как он установил библиотеки DLL. Очевидно, что вы не можете зависеть от этого общего несчастного случая.

Аналогично для Windows 8 предустановленный пакет Microsoft.VCLibs.110 соответствует пакету, необходимому для приложения Store, написанного на C ++. Но по той же причине, что и выше, программы Microsoft Store были также созданы с VS2012, как и ваша. То, что произойдет в предстоящем VS2013, сейчас немного мутно, скоро мы узнаем.

4

Другие решения

На мой взгляд, ответ будет и: да, и нет.

  • да: Более поздние версии ОС Windows обычно поставляются с предустановленной средой выполнения VC (вместе с более поздними версиями .NET Framework). Это связано с тем, что Microsoft использует новейшую / более новую Visual Studio, прежде чем они выпустят VS для общественности (или даже для подписчиков MSDN). Если не так, то всякий раз, когда вы устанавливаете какое-либо приложение (устаревшее или загруженное приложение), программа установки в любом случае установит требуемую среду выполнения VC ++. Другой способ — через автоматические обновления.
  • нет: В случае, если ни одно из вышеупомянутых правил не применяется. Или когда среда выполнения VC поставляется с новым пакетом обновления или исправлением. Возможно, вы разработали свое приложение с более новым патчем / SP, и его нужно установить (как, конечно, Side-by-Side).
1

По вопросам рекламы [email protected]