Microsoft visual c++

ИнструментыTools

СредствоTool Visual Studio Express для WindowsVisual Studio Express for Windows Visual Studio Express для Windows DesktopVisual Studio Express for Windows Desktop Visual Studio Professional и CommunityVisual Studio Professional / Community Visual Studio EnterpriseVisual Studio Enterprise
Инкрементный компоновщик (Link.exe)Incremental Linker (Link.exe) XX XX XX XX
Служебная программа обслуживания программ (Nmake.exe)Program Maintenance Utility (Nmake.exe) XX XX XX
Генератор библиотек (Lib.exe)Lib Generator (Lib.exe) XX XX XX XX
Компилятор ресурсов Windows (Rc.exe)Windows Resource Compiler (Rc.exe) XX XX XX XX
Конвертер ресурсов Windows в объекты (CvtRes.exe)Windows Resource to Object Converter (CvtRes.exe) XX XX XX
Служебная программа Browse Information Maintenance (BscMake.exe)Browse Information Maintenance Utility (BscMake.exe) XX XX XX XX
C++ Name Undecorator (Undname.exe)C++ Name Undecorator (Undname.exe) XX XX XX XX
COFF/PE Dumper (Dumpbin.exe)COFF/PE Dumper (Dumpbin.exe) XX XX XX XX
COFF/PE Editor (Editbin.exe)COFF/PE Editor (Editbin.exe) XX XX XX XX
MASM (Ml.exe)MASM (Ml.exe) XX XX
Spy++Spy++ XX XX
ErrLookErrLook XX XX
AtlTraceAtlTrace XX XX
Devenv.comDevenv.com XX XX
Правила выводаInference Rules XX XX
Обновление проектов VCBuild с расширением VCPROJ до MSBuild (VCUpgrade.exe)Upgrade VCBuild .vcproj projects to MSBuild (VCUpgrade.exe) XX XX XX XX
Оптимизация с использованием профиляProfile Guided Optimizations XX XX

Размещение распространяемых файловLocate the redistributable files

Для развертывания распространяемых файлов можно использовать распространяемые пакеты, установленные Visual Studio.To deploy redistributable files, you can use the redistributable packages installed by Visual Studio. В версиях Visual Studio, начиная с 2017, эти файлы называются , и .In versions of Visual Studio since 2017, these files are named , , and . В Visual Studio 2015, Visual Studio 2017 и Visual Studio 2019 они также доступны под именами , и (только для 2015).In Visual Studio 2015, Visual Studio 2017, and Visual Studio 2019, they’re also available under the names , , and (2015 only).

Самый простой способ размещения распространяемых файлов — использовать переменные среды, заданные в командной строке разработчика.The easiest way to locate the redistributable files is by using environment variables set in a developer command prompt. В последней версии Visual Studio 2019 вы найдете распространяемые файлы в папке.In the latest version of Visual Studio 2019, you’ll find the redistributable files in the folder. В Visual Studio 2017 и Visual Studio 2019 они также находятся в .In both Visual Studio 2017 and Visual Studio 2019, they’re also found in . В Visual Studio 2015 эти файлы можно найти в , где — это языковой стандарт распространяемых пакетов.In Visual Studio 2015, these files can be found in , where is the locale of the redistributable packages.

Другой вариант развертывания — использовать распространяемые модули слияния ( файлы).Another deployment option is to use redistributable merge modules ( files). В Visual Studio 2019 эти файлы являются частью необязательного устанавливаемого компонента с именем » распространяемый компонент C++ 2019 МСМС » в Visual Studio Installer.In Visual Studio 2019, these files are part of an optional installable component named C++ 2019 Redistributable MSMs in the Visual Studio Installer. Модули слияния устанавливаются по умолчанию в рамках установки C++ в Visual Studio 2017 и Visual Studio 2015.The merge modules are installed by default as part of a C++ install in Visual Studio 2017 and Visual Studio 2015. При установке в последней версии Visual Studio 2019 можно найти распространяемые модули слияния в .When installed in the latest version of Visual Studio 2019, you’ll find the redistributable merge modules in . В Visual Studio 2019 и Visual Studio 2017 они также находятся в .In both Visual Studio 2019 and Visual Studio 2017, they’re also found in . В Visual Studio 2015 они находятся в .In Visual Studio 2015, they’re found in .

Обратная связь и сообществоFeedback and community

Как сообщить о проблеме с набором инструментов Visual C++How to Report a Problem with the Visual C++ ToolsetСведения о создании эффективных отчетов об ошибках с использованием набора инструментов Visual C++ (компилятора, компоновщика и других средств) и информация о способах отправки отчета.Learn how to create effective error reports against the Visual C++ toolset (compiler, linker, and other tools), and ways to submit your report.

Блог группы разработчиков Microsoft по C++Microsoft C++ Team BlogОписание новых возможностей и актуальная информация от разработчиков инструментов C++ в Visual Studio.Learn more about new features and the latest information from the developers of the C++ tools in Visual Studio.

Сообщество разработчиков Visual StudioVisual Studio Developer CommunityОбращение за помощью, регистрация ошибок и предложения по Visual Studio.Find out how to get help, file bugs, and make suggestions for Visual Studio.

Редакторы и конструкторыDesigners and Editors

Редактор или конструкторDesigner or Editor Visual Studio Express для WindowsVisual Studio Express for Windows Visual Studio Express для Windows DesktopVisual Studio Express for Windows Desktop Visual Studio Professional и CommunityVisual Studio Professional / Community Visual Studio EnterpriseVisual Studio Enterprise
Конструктор XAMLXAML Designer XX XX XX
Конструктор и редактор стилей CSSCSS Style Designer/Editor XX XX XX XX
Конструктор и редактор HTMLHTML Designer/Editor XX XX XX XX
XML-редакторXML Editor XX XX XX XX
Редактор исходного кодаSource Code Editor XX XX XX XX
Возможности повышения производительности: рефакторинг, IntelliSense, форматирование кода C++Productivity Features: Refactoring, IntelliSense, C++ Code Formatting XX XX XX XX
Конструктор Windows FormsWindows Forms Designer XX XX XX
Конструктор данныхData Designer XX XX
Собственный редактор ресурсов (RC-файлы)Native Resource Editor (.rc files) XX XX
редакторы ресурсовResource Editors XX XX XX XX
Редактор моделейModel editor XX XX XX
Конструктор шейдеровShader designer XX XX XX

Новые возможности и журнал соответствийWhat’s New and Conformance History

Новые возможности C++ в Visual StudioWhat’s New for C++ in Visual StudioНовые возможности в Visual Studio.Find out what’s new in Visual Studio.

Новые возможности C++ в версиях Visual Studio с 2003 до 2015What’s New for C++ in Visual Studio 2003 through 2015Новые возможности C++ для каждой версии Visual Studio с 2003 до 2015.Find out what was new in C++ for each version of Visual Studio from 2003 through 2015.

Улучшения соответствия C++ в Visual StudioC++ conformance improvements in Visual StudioСведения об улучшениях соответствия C++ в Visual Studio.Learn about C++ conformance improvements in Visual Studio.

Таблица соответствия Microsoft Visual C++ стандартам языкаMicrosoft C++ language conformance tableСписок с данными о состоянии соответствия стандартам по каждой функции в компиляторе C++ MSVC.A list of conformance status by feature in the MSVC C++ compiler.

Журнал изменений Visual C++ 2003–2015Visual C++ change history 2003 — 2015Ознакомьтесь с критическими изменениями в предыдущих версиях.Learn about the breaking changes in previous versions.

Автоматизация и расширяемостьAutomation and Extensibility

Автоматизация и расширяемостьAutomation and Extensibility Visual Studio Express для WindowsVisual Studio Express for Windows Visual Studio Express для Windows DesktopVisual Studio Express for Windows Desktop Visual Studio Professional и CommunityVisual Studio Professional / Community Visual Studio EnterpriseVisual Studio Enterprise
Объектные модели расширения средыExtensibility Object Models XX XX
Модель кодаCode Model XX XX
модель проектаProject Model XX XX
Модель редактора ресурсовResource Editor Model XX XX
Модель мастераWizard Model XX XX
Объектная модель отладчикаDebugger Object Model XX XX

Загрузка и установка Visual C++

Самым простым и правильным способом будет переустановка Microsoft Visual C++. Но перед этим вам обязательно нужно удалить компоненты, которые уже установлены на компьютере. Иначе вы рискуете снова столкнуться с той же самой неполадкой.

Итак, сначала воспользуйтесь штатной утилитой «Программы и компоненты». В списке установленных приложений отыщите все версии Visual C++ и поочередно удалите их. Эту процедуру нужно сделать со всеми компонентами без исключений по версиям и разрядности.

После деинсталляции всех компонентов обязательно перезагрузите компьютер. Дополнительно можно выполнить очистку реестра и временных файлов.

Теперь можно переходить к повторной установке библиотек. Обязательно скачивайте дистрибутив с официального сайта Microsoft. Чтобы вы не искали нужную страницу вручную, просто откройте данную ссылку и загрузите установщик. При выборе подходящего инсталлятора ориентируйтесь на название файла. Vc_redist.x86.exe нужно скачивать при использовании Windows 32-bit, а файл с названием vc_redist.x64.exe, соответственно, для 64-битных операционных систем.

Теперь необходимо запустить инсталлятор и следовать инструкции. От вас требуется лишь согласие с лицензией и нажатие одной кнопки «Установить». Далее, утилита выполнит все необходимые действия автоматически. Вам останется только перезагрузить компьютер и проверить, исчезла ли ошибка Runtime Error при запуске того или иного приложения.

Создание приложений на C++Write applications in C++

Универсальные приложения Windows (C++)Universal Windows Apps (C++)Руководства и справочные материалы в Центре разработчика Windows.Find guides and reference content on the Windows Developer Center. Сведения о разработке приложений UWP см. в разделах Введение в универсальную платформу Windows и Создание первого приложения UWP на C++.For information about developing UWP apps, see Intro to the Universal Windows Platform and Create your first UWP app using C++.

Классические приложения (C++)Desktop Applications (C++)Сведения о создании классических приложений с машинным кодом на C++ для Windows.Learn how to create traditional native C++ desktop applications for Windows.

Программирование .NET с использованием C++/CLI.NET Programming with C++/CLIСведения о создании библиотек DLL, обеспечивающих взаимодействие между машинным кодом на C++ и программами .NET, написанными на таких языках, как C# или Visual Basic.Learn how to create DLLs that enable interoperability between native C++ and .NET programs written in languages such as C# or Visual Basic.

Программирование для LinuxLinux ProgrammingИнтегрированная среда разработки Visual Studio позволяет написать код и развернуть его на удаленном компьютере с ОС Linux для компиляции с помощью GCC.Use the Visual Studio IDE to code and deploy to a remote Linux machine for compilation with GCC.

Создание библиотек DLL C/C++ в Visual StudioCreate C/C++ DLLs in Visual StudioИспользование Win32, ATL и MFC для создания классических библиотек DLL для Windows, а также сведения о компиляции и регистрации библиотеки DLL.Find out how to use Win32, ATL, and MFC to create Windows desktop DLLs, and provides information about how to compile and register your DLL.

Параллельное программированиеParallel ProgrammingИспользование библиотеки параллельных шаблонов, C++ AMP, OpenMP и других компонентов, связанных с многопоточностью в Windows.Learn how to use the Parallel Patterns Library, C++ AMP, OpenMP, and other features that are related to multithreading on Windows.

Рекомендации по безопасностиSecurity Best PracticesЗащита приложений от вредоносного кода и несанкционированного использования.Learn how to protect applications from malicious code and unauthorized use.

Облачное и веб-программированиеCloud and Web ProgrammingВ C++ имеются несколько параметров для соединения с веб-узлом и облаком.In C++, you have several options for connecting to the web and the cloud.

Доступ к даннымData AccessПодключение к базам данных через ODBC и OLE DB.Connect to databases using ODBC and OLE DB.

Текст и строкиText and StringsПодробнее о работе с различными форматами текста и строк и кодировками для локальных и международных разработок.Learn about working with different text and string formats and encodings for local and international development.

Распространяемые файлы и лицензированиеRedistributable files and licensing

При развертывании приложения необходимо также развернуть файлы, поддерживающие это приложение.When you deploy an application, you must also deploy the files that are required to support it. Если какие – либо из этих файлов предоставляются корпорацией Майкрософт, проверьте, разрешено ли их распространение.If any of these files are provided by Microsoft, check whether you’re permitted to redistribute them. Ссылка на условия лицензии Visual Studio находится в интегрированной среде разработки.You’ll find a link to the Visual Studio license terms in the IDE. Используйте ссылку условия лицензии в диалоговом окне о Microsoft Visual Studio.Use the License terms link in the About Microsoft Visual Studio dialog box. Или загрузите соответствующие лицензионные соглашения и лицензии из каталога лицензийVisual Studio.Or, download the relevant EULAs and licenses from the Visual Studio License Directory.

Чтобы просмотреть список Redist, указанный в разделе «распространяемый код» условий лицензионного соглашения на использование программного обеспечения Microsoft Visual Studio 2019, ознакомьтесь с разделом To view the «REDIST list» that’s referenced in the «Distributable Code» section of the Visual Studio 2019 Microsoft Software License Terms, see

Чтобы просмотреть список Redist, указанный в разделе «распространяемый код» условий лицензионного соглашения на использование программного обеспечения Microsoft Visual Studio 2017, ознакомьтесь с разделом .To view the «REDIST list» that’s referenced in the «Distributable Code» section of the Visual Studio 2017 Microsoft Software License Terms, see .

Чтобы просмотреть список Redist, указанный в разделе «распространяемый код» условий лицензионного соглашения на использование программного обеспечения Microsoft Visual Studio 2015, ознакомьтесь с разделом .To view the «REDIST list» that’s referenced in the «Distributable Code» section of the Visual Studio 2015 Microsoft Software License Terms, see .

Дополнительные сведения о распространяемых файлах см. в разделе Определение библиотек DLL для повторного распространения и примеров развертывания.For more information about redistributable files, see Determining which DLLs to redistribute and Deployment examples.

Приложения универсальной платформы WindowsUniversal Windows Platform apps

Универсальная платформа Windows (UWP) — это современный API Windows.The Universal Windows Platform (UWP) is the modern Windows API. Приложения UWP работают на любом устройстве Windows 10, используют XAML для пользовательского интерфейса и полностью поддерживают касание.UWP apps run on any Windows 10 device, use XAML for the user-interface, and are fully touch-enabled. Дополнительные сведения об универсальномконтроллере платформы Windows см. в статье что такое приложение универсальная платформа Windows (UWP) .For more information about UWP, see What’s a Universal Windows Platform (UWP) app? and Guide to Windows Universal Apps.

Исходная поддержка C++ для UWP состояла из (1) C++/CX, диалекта C++ с расширениями синтаксиса или (2) библиотеки среда выполнения Windows (WRL), основанной на стандартном C++ и COM.The original C++ support for UWP consisted of (1) C++/CX, a dialect of C++ with syntax extensions, or (2) the Windows Runtime Library (WRL), which is based on standard C++ and COM. C++/CX и WRL по-прежнему поддерживаются.Both C++/CX and WRL are still supported. Для новых проектов рекомендуется использовать c++/WinRT, который полностью основан на стандартном c++ и обеспечивает более высокую производительность.For new projects, we recommend C++/WinRT, which is entirely based on standard C++ and provides faster performance.

О старых версиях C++. Нужно ли их удалять?

Если перейти по адресу Пуск – Панель управления – Установка и удаление программ, в списке можно найти с десяток наименований различных версий Microsoft Visual C++. Версии х86 и х64, версии 2005, 2008, 2010, 2017, различные численные нумерации и т.д. Пользователи вполне логично полагают, что имеющаяся версия 2017 года самая новая, а остальное можно смело удалять, также как и версии для х86 систем, если они в данный момент сидят на 64-разрядной версии операционной системы.

Так вот — шиш! Удалять их нельзя 🙂 Впрочем, Вы можете, но какая-то из ваших программ, или игр перестанет запускаться 🙂 И вы заранее не знаете какая. Классно, правда?

Не стоит удалять разные версии — какие-то случайные программы перестанут работать

В общем так это не работает, нельзя рассчитывать, что более свежая версия обладает обратной совместимостью. Более старые игры используют устаревшие версии Microsoft Visual C++ Redistributable, поэтому отсутствие в системе необходимой версии программного пакета приведет к невозможности запуска. То же самое касается и различных разрядностей (х86, x64) – они также могут использоваться программами и играми.

Типы мастеров проектов

В среде Visual C++ можно строить различные типы проектов. Такие проекты после их создания можно компилировать и запускать на исполнение. Фирма Microsoft разработала специальный инструментарий, облегчающий и ускоряющий создание проектов в среде Visual C++.

Рассмотрим некоторые типы проектов, которые можно создавать при помощи различных средств (мастеров проектов) Microsoft Visual C++:

MFC AppWizard (exe)

При помощи мастера приложений можно создать проект Windows-приложения которое имеет однодокументный, многодокументный или диалоговый интерфейс. Однодокументное приложеие может предоставлять пользователю в любой момент времени работать только с одним файлом. Многодокументное приложение, напротив, может одновременно представлять несколько документов, каждый в собственном окне. Пользовательский интерфейс диалогового приложения представляет собой единственное диалоговое окно.


Установка параметров составного документа в MFC AppWizard.

MFC AppWizard (dll)

Этот мастер приложений позволяет создать структуру DLL, основанную на MFC. При помощи него можно определить характеристики будующей DLL.

AppWizard ATL COM

Это средство позволяет создать элемент управления ActiveX или сервер автоматизации, используя новую библиотеку шаблонов ActiveX (ActiveX Template Library — ATL). Опции этого мастера дают возможность выбрать активный сервер (DLL) или исполняемый внешний сервер (exe-файл).

Custom AppWizard

При помощи этого средства можно создать пользовательские мастера AppWizard. Пользовательский мастер может базироваться на стандартных мастерах для приложений MFC или DLL, а также на существующих проектах или содержать только определеямые разработчиком шаги.

DevStudio Add-in Wizard

Мастер дополнений позволяет создавать дополнения к Visual Studio. Библиотека DLL расширений может поддерживать панели инструментов и реагировать на события Visual Studio.

MFC ActiveX ControlWizard

Мастер элементов управления реализует процесс создания проекта, содержащего один или несколько элементов управления ActiveX, основанных на элементах управления MFC.


Выбор мастера проекта в Visual Studio

Win32 Application

Этот мастер позволяет создать проект обычного Window-приложения. Проект создается незаполненным, файлы с исходным кодом в него следует добавлять вручную.

Win32 Console Application

Мастер создания проекта консольного приложения. Консольная приложение – это программа, которая выполняется из командной cтроки окна DOS или Windows и не имеет графического интерфейса (окон). Проект консольного приложения создается пустым, предполагая добавление файлов исходного текста в него вручную.

Win32 Dynamic-Link Library

Создание пустого проекта динамически подключаемой библиотеки. Установки компилятора и компоновщика будут настроены на создание DLL. Исходные файлы следует добавлять вручную.

Win32 Static Library

Это средство создает пустой проект, предназначенный для генерации статической (объектной) библиотеки. Файлы с исходным кодом в него следует добавлять вручную.

Ошибка отсутствует VCRUNTIME140.dll или MSVCR110.dll и другие

Итак, если у Вас при запуске программы или игры появляются следующие ошибки, то это означает, что у Вас нет нужной установленной версии Microsoft Visual C++ Redistributable Package, которая нужна для работы программы или игры которую Вы запускаете.

Ошибка отсутствует VCRUNTIME140.dll

Запуск программы невозможен, так как на компьютере отсутствует VCRUNTIME140.dll. Попробуйте переустановить программу.

Решение. Установить Microsoft Visual C++ Redistributable Package 2015.

Ошибка отсутствует MSVCR110.dll

Запуск программы невозможен, так как на компьютере отсутствует MSVCR110.dll. Попробуйте переустановить программу.

Решение. Установить Microsoft Visual C++ Redistributable Package 2012.

Для каждой версии распространяемых пакетов будет появляться свой набор ошибок, примерное соответствие ошибок и версий представлено чуть ниже.

  • Отсутствует VCRUNTIME140.dll – нужно установить Microsoft Visual C++ Redistributable Package 2015;
  • Отсутствует MSVCR120.dll или MSVCP120.dll — нужно установить Microsoft Visual C++ Redistributable Package 2013;
  • Отсутствует MSVCR110.dll или MSVCP110.dll — нужно установить Microsoft Visual C++ Redistributable Package 2012;
  • Отсутствует MSVCR100.dll или MSVCP100.dll — нужно установить Microsoft Visual C++ Redistributable Package 2010;
  • Отсутствует MSVCR90.dll или MSVCP90.dll — нужно установить Microsoft Visual C++ Redistributable Package 2008;
  • Отсутствует MSVCR80.dll или MSVCP80.dll — нужно установить Microsoft Visual C++ Redistributable Package 2005.

Использование рефакторинга и IntelliSenseUse refactoring and IntelliSense

Рассмотрим несколько примеров того, как рефакторинг и IntelliSense помогают повысить эффективность кода.Let’s look at a couple of the ways that refactoring and IntelliSense can help you code more efficiently.

Во-первых, переименуем переменную :First, let’s rename the variable:

Дважды щелкните переменную , чтобы выбрать ее.Double-click the variable to select it.

Введите имя переменной, username .Type in the new name for the variable, username .
Обратите внимание, что вокруг переменной отображается серый прямоугольник, а в поле появляется значок лампочки.Notice that a gray box appears around the variable, and a light bulb appears in the margin.

  1. Выберите значок лампочки для отображения доступных быстрых действий.Select the light bulb icon to show the available Quick Actions. Выберите Переименовать name в username .Select Rename ‘name’ to ‘username’ .

    Переменная переименовывается во всем проекте, то есть в нашем случае только в двух местах.The variable is renamed across the project, which in our case is only two places.

  1. Выберите значок лампочки для отображения доступных быстрых действий.Select the light bulb icon to show the available Quick Actions. Выберите Переименовать name в username .Select Rename ‘name’ to ‘username’ .

    Переменная переименовывается во всем проекте, то есть в нашем случае только в двух местах.The variable is renamed across the project, which in our case is only two places.

Теперь рассмотрим возможности IntelliSense.Now let’s take a look at IntelliSense. Под строкой введите .Below the line that says , type .
Появится поле с членами класса DateTime.A box displays the members of the DateTime class. Кроме того, в отдельном поле отображается описание выбранного элемента.In addition, the description of the currently selected member displays in a separate box.

Выберите член с именем Now , который является свойством класса, дважды щелкнув его или нажав клавишу TAB . Завершите строку кода, добавив в конце точку с запятой.Select the member named Now , which is a property of the class, by double-clicking on it or pressing Tab . Complete the line of code by adding a semi-colon to the end.

Ниже введите или вставьте следующие строки кода:Below that, type in or paste the following lines of code:

Совет
Console.Write будет немного отличаться от Console.WriteLine в том, что не добавляет знак завершения строки после ее вывода.Console.Write is a little different to Console.WriteLine in that it doesn’t add a line terminator after it prints. Это означает, что следующий фрагмент текста, отправляемый на вывод, будет выводиться в той же строке.That means that the next piece of text that’s sent to the output will print on the same line. Можно навести указатель мыши на каждый из этих методов в коде, чтобы просмотреть его описание.You can hover over each of these methods in your code to see their description.

Далее мы снова используем рефакторинг, чтобы сделать код более кратким.Next, we’ll use refactoring again to make the code a little more concise

Щелкните переменную в строке .Click on the variable in the line .
Обратите внимание, что на поле в этой строке отображается маленький значок отвертки.Notice that a little screwdriver icon appears in the margin on that line.

Щелкните значок отвертки, чтобы увидеть предложения Visual Studio.Click the screwdriver icon to see what suggestions Visual Studio has available. В этом случае отображается рефакторинг Встроенная временная переменная для удаления строки кода без изменения его общего поведения:In this case, it’s showing the Inline temporary variable refactoring to remove a line of code without changing the overall behavior of the code:

Щелкните Встроенная временная переменная , чтобы выполнить рефакторинг кода.Click Inline temporary variable to refactor the code.

  1. Снова запустите программу, нажав клавиши Ctrl+F5 .Run the program again by pressing Ctrl+F5 . Выходные данные выглядят следующим образом:The output looks something like this:

  1. Снова запустите программу, нажав клавиши Ctrl+F5 .Run the program again by pressing Ctrl+F5 . Выходные данные выглядят следующим образом:The output looks something like this:

Установка распространяемых пакетовInstall the redistributable packages

Распространяемые пакеты Visual C++ позволяют устанавливать и регистрировать все библиотеки Visual C++.The Visual C++ Redistributable Packages install and register all Visual C++ libraries. Если вы используете его, запустите его в качестве необходимого компонента в целевой системе, прежде чем устанавливать приложение.If you use one, run it as a prerequisite on the target system before you install your application. Рекомендуется использовать эти пакеты для развертываний, поскольку они включают функцию автоматического обновления библиотек Visual C++.We recommend that you use these packages for your deployments because they enable automatic updating of the Visual C++ libraries. Пример использования этих пакетов см. в разделе Пошаговое руководство. Развертывание приложения Visual C++ с помощью распространяемого пакета Visual C++.For an example about how to use these packages, see Walkthrough: Deploying a Visual C++ Application By Using the Visual C++ Redistributable Package.

Каждый распространяемый пакет Visual C++ проверяет наличие более новой версии на компьютере.Each Visual C++ Redistributable Package checks for the existence of a more recent version on the machine. Если обнаружена более поздняя версия, пакет не будет установлен.If a more recent version is found, the package won’t get installed. Начиная с Visual Studio 2015, в распространяемых пакетах отображается сообщение о сбое установки.Starting in Visual Studio 2015, redistributable packages display an error message stating that setup failed. Если пакет выполняется с помощью флага, сообщение об ошибке не отображается.If a package is run by using the flag, no error message is displayed. В любом случае ошибка записывается установщиком Майкрософт, а результат ошибки возвращается вызывающему объекту.In either case, an error is logged by the Microsoft installer, and an error result is returned to the caller. Начиная с пакетов Visual Studio 2015 вы можете избежать этой ошибки, проверив реестр, чтобы узнать, установлена ли более новая версия.Starting in Visual Studio 2015 packages, you can avoid this error by checking the registry to find out if a more recent version is installed. Текущий номер установленной версии хранится в ключе.The current installed version number is stored in the key. Номер версии — 14,0 для Visual Studio 2015, Visual Studio 2017 и Visual Studio 2019, так как последний распространяемый пакет совместим с версией 2015.The version number is 14.0 for Visual Studio 2015, Visual Studio 2017, and Visual Studio 2019 because the latest redistributable is binary compatible with the 2015 version. Ключ — , или, в зависимости от установленных версий Vcredist для платформы.The key is , , or depending on the installed vcredist versions for the platform. ( Если вы используете Regedit для просмотра версии установленного пакета x86 на платформе x64, необходимо проверить подраздел.) Номер версии хранится в REG_SZ строковом значении , а также в наборе значений, , и .(You need to check under the subkey only if you’re using Regedit to view the version of the installed x86 package on an x64 platform.) The version number is stored in the REG_SZ string value and also in the set of , , , and values. Чтобы избежать ошибки во время установки, нужно пропустить установку распространяемого пакета, если только что установленная версия является более новой.To avoid an error at install time, you must skip installation of the redistributable package if the currently installed version is more recent.

Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий