Pacotes de estrutura do Runtime do C++ para Ponte de Desktop

Este artigo descreve como criar um contêiner Ponte de Desktop que inclui as bibliotecas de Runtime C++ corretas.

Versão original do produto: Windows 10
Número de KB original: 3176696

Resumo

Os aplicativos da área de trabalho do Windows que têm uma dependência das bibliotecas do Runtime do C++ devem especificar a versão correspondente do pacote de estrutura do Runtime do C++ para Ponte de Desktop durante a criação do pacote de aplicativos. Isso deve ser feito em vez de apenas redistribuir as bibliotecas do Runtime C++ incluídas no Visual Studio ou no VCRedist (redistribuível do Visual C++ Runtime). Os aplicativos da área de trabalho do Windows executados em um contêiner Ponte de Desktop não podem usar as bibliotecas do Runtime C++ incluídas no Visual Studio ou vcRedist. Um aplicativo que está em execução em um contêiner Ponte de Desktop e que usa uma versão incorreta das bibliotecas de runtime do C++ pode falhar quando tenta acessar recursos como o sistema de arquivos ou o registro. Este artigo discute como criar um contêiner Ponte de Desktop que inclui as bibliotecas de Runtime C++ corretas.

Como instalar e atualizar pacotes de estrutura de área de trabalho

A Microsoft fornece pacotes de estrutura de runtime do C++ para permitir que os aplicativos referenciem o runtime C++ de aplicativos de área de trabalho distribuídos pela Windows Store. Esses pacotes são distribuídos e atualizados por meio da Windows Store e são tratados de forma semelhante aos pacotes de estrutura UWP do C++.

Para fins de desenvolvimento, a versão atual (v14.0) de pacotes de appx de depuração e varejo é incluída no Visual Studio 2019 quando você escolhe a carga de trabalho Plataforma Universal do Windows Desenvolvimento com o componente opcional C++ (v142) Universal Windows Tools. Os pacotes podem ser encontrados em %ProgramFiles(x86)%\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop\14.0.

Em alguns cenários, como Área Restrita do Windows ou em que os aplicativos são executados em computadores offline, os desenvolvedores podem achar mais fácil baixar os pacotes correspondentes às suas arquiteturas de implantação de um dos links abaixo e instalá-los manualmente usando o cmdlet do Add-AppxPackage PowerShell:

Pacotes de estrutura da Área de Trabalho Herdada

Pacotes de estrutura de runtime C++ mais antigos para aplicativos de área de trabalho, v11.0 e v12.0, podem ser baixados e instalados nesses locais:

Os pacotes da estrutura do Runtime C++ serão copiados para uma subpasta em %ProgramFiles(x86)%\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop. Você pode instalar os pacotes manualmente usando o cmdlet do Add-AppxPackage PowerShell.

Como fazer referência aos pacotes da estrutura da Área de Trabalho

No arquivo AppxManifest.xml do aplicativo, especifique um PackageDependency valor que corresponda ao pacote de estrutura apropriado:

  • Versão 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>
    
  • Versão 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>
    
  • Versão 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>
    

Agora, o aplicativo instalará as DLLs do Runtime C++ do pacote de dependência quando ele for implantado.

Referências

Usando o Visual C++ Runtime no projeto Centennial