Пакеты платформы среды выполнения C++ для мост для классических приложений
В этой статье описывается создание контейнера мост для классических приложений, включающего правильные библиотеки среды выполнения C++.
Исходная версия продукта: Windows 10
Исходный номер базы знаний: 3176696
Итоги
Классические приложения Windows, имеющие зависимость от библиотек среды выполнения C++, должны указывать соответствующую версию пакета платформы среды выполнения C++ для мост для классических приложений во время создания пакета приложения. Это необходимо сделать вместо простого распространения библиотек среды выполнения C++, включенных в состав Visual Studio или распространяемого компонента среды выполнения Visual C++ (VCRedist). Классические приложения Windows, которые выполняются в контейнере мост для классических приложений, не могут использовать библиотеки среды выполнения C++, включенные в Visual Studio или VCRedist. Приложение, работающее в контейнере мост для классических приложений и использующее неправильную версию библиотек среды выполнения C++, может завершиться ошибкой при попытке получить доступ к ресурсам, таким как файловая система или реестр. В этой статье описывается создание контейнера мост для классических приложений, включающего правильные библиотеки среды выполнения C++.
Установка и обновление пакетов платформы Desktop
Корпорация Майкрософт предоставляет пакеты платформы среды выполнения C++, позволяющие приложениям ссылаться на среду выполнения C++ из классических приложений, распределенных через Магазин Windows. Эти пакеты распределяются и обновляются через Магазин Windows и обрабатываются аналогично пакетам платформы UWP на C++.
В целях разработки текущая версия (версия 14.0) пакетов отладки и розничных приложений входит в состав Visual Studio 2022 при выборе рабочей нагрузки универсальная платформа Windows разработки с дополнительным компонентом универсальных средств Windows (версии 143). Пакеты можно найти в разделе %ProgramFiles(x86)%\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop\14.0
.
Примечание.
Следующие ссылки на скачивание пакетов теперь устарели и могут перестать работать в будущем. Чтобы получить пакеты платформы, используйте описанный выше метод.
Устаревшие пакеты платформы Desktop
Старые пакеты платформы среды выполнения C++ для классических приложений версии 11.0 и версии 12.0 можно скачать и установить из следующих расположений:
- Пакет платформы среды выполнения C++ версии 11.0 для мост для классических приложений (Project Centennial)
- Пакет платформы среды выполнения C++ версии 12 для мост для классических приложений (Project Centennial)
Пакеты платформы среды выполнения C++ будут скопированы в вложенную папку.%ProgramFiles(x86)%\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop
Пакеты можно установить вручную с помощью командлета Add-AppxPackage
PowerShell.
Ссылка на пакеты платформы Desktop
В файле AppxManifest.xml приложения укажите PackageDependency
значение, соответствующее соответствующему пакету платформы:
Версия 11.0:
<Dependencies> <PackageDependency Name="Microsoft.VCLibs.110.00.UWPDesktop" MinVersion="11.0.61135.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US"/> </Dependencies>
Версия 12.0:
<Dependencies> <PackageDependency Name="Microsoft.VCLibs.120.00.UWPDesktop" MinVersion="120.40653.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" /> <PackageDependency Name="Microsoft.VCLibs.120.00.UWPDesktop" MinVersion="12.0.40653.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" /> </Dependencies>
Версия 14.0:
<Dependencies> <PackageDependency Name="Microsoft.VCLibs.140.00.UWPDesktop" MinVersion="14.0.24217.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" /> </Dependencies>
Теперь приложение установит библиотеки DLL среды выполнения C++ из пакета зависимостей при его развертывании.
Ссылки
Использование среды выполнения Visual C++ в проекте Centennial