Partilhar via


Redistribuir ficheiros Visual C++

Observação

Você está aqui porque está procurando um download de um dos arquivos de tempo de execução do Visual C++? Vá à página dos downloads suportados mais recentes do Visual C++ Redistributable.

Arquivos redistribuíveis e licenciamento

A distribuição do pacote Visual C++ Runtime Redistributable, módulos de fusão e binários individuais está limitada a utilizadores licenciados do Visual Studio e está sujeita aos Termos de Licenciamento para Software Microsoft.

Ao implantar um aplicativo, você também deve implantar os arquivos necessários para dar suporte a ele. Se a Microsoft fornecer algum destes ficheiros, verifique se tem permissão para os redistribuir. Podes encontrar um link para os termos da licença do Visual Studio no IDE. No diálogo Sobre Microsoft Visual Studio, selecione o link Termos de Licença. Também pode descarregar os Termos de Licença de Software da Microsoft e as licenças relevantes do License Directory do Visual Studio.

Para ver a "lista REDIST" referida na secção "Código Distribuível" dos Termos de Licença de Software Microsoft para o Visual Studio 2022, consulte ficheiros de código distribuível para o Microsoft Visual Studio 2022.

Para ver a "lista REDIST" referenciada na secção "Código Distribuível" do Termos de Licenciamento para Software Microsoft Visual Studio 2019, consulte Ficheiros de código distribuíveis para Microsoft Visual Studio 2019.

Para visualizar a "lista REDIST" referenciada na secção "Código Distribuível" do Termos de Licenciamento para Software Microsoft Visual Studio 2017, consulte Ficheiros de código distribuíveis para Microsoft Visual Studio 2017.

Para visualizar a "lista REDIST" referenciada na secção "Código Distribuível" do Termos de Licenciamento para Software Microsoft Visual Studio 2015, consulte Ficheiros de código distribuíveis para Microsoft Visual Studio 2015.

Para mais informações sobre ficheiros redistribuíveis, veja Determinar quais as bibliotecas de ligação dinâmica (DLLs) a redistribuir e Exemplos de implementação.

Localize os arquivos redistribuíveis

Para implementar ficheiros redistribuíveis, pode usar os pacotes redistribuíveis instalados pelo Visual Studio. Nas versões de Visual Studio desde 2017, estes ficheiros são nomeados vc_redist.arm64.exe, vc_redist.x64.exe e vc_redist.x86.exe. Em Visual Studio 2015, 2017 e 2019, também estão disponíveis sob os nomes vcredist_x86.exe, vcredist_x64.exe e (apenas 2015) vcredist_arm.exe.

A maneira mais fácil de localizar os arquivos redistribuíveis é usando variáveis de ambiente definidas em um prompt de comando do desenvolvedor. Em Visual Studio de 2022, os ficheiros redistribuíveis encontram-se na pasta %VCINSTALLDIR%Redist\MSVC\v143. Na versão mais recente de Visual Studio 2019, pode encontrar os ficheiros redistribuíveis na pasta %VCINSTALLDIR%Redist\MSVC\v142. Tanto Visual Studio 2017 como Visual Studio 2019, os ficheiros também se encontram em %VCToolsRedistDir%. Em Visual Studio de 2015, pode encontrar estes ficheiros em %VCINSTALLDIR%redist\<locale>, onde <locale> é a localização dos pacotes redistribuíveis.

Em Visual Studio 2022 e 2019, os ficheiros de módulos de fusão fazem parte de um componente opcional instalável chamado Visual C++ <version> módulos de fusão redistribuíveis no Visual Studio Instalador. Os módulos de fusão são instalados por defeito como parte de uma instalação em C++ no Visual Studio 2017 e no Visual Studio 2015. Quando estiverem instalados em Visual Studio 2022, podes encontrar os módulos de fusão redistribuíveis em %VCINSTALLDIR%Redist\MSVC\v143\MergeModules.

Na versão mais recente de Visual Studio 2019, os módulos de fusão redistribuíveis encontram-se em %VCINSTALLDIR%Redist\MSVC\v142\MergeModules. Tanto no Visual Studio 2019 como no Visual Studio 2017, encontram-se também em %VCToolsRedistDir%MergeModules. Em Visual Studio 2015, são encontradas em Program Files [(x86)]\Common Files\Merge Modules.

Instalar os pacotes redistribuíveis

Os pacotes Visual C++ Redistributable instalam e registam todas as bibliotecas Visual C++. Se você usar um, execute-o como um pré-requisito no sistema de destino antes de instalar seu aplicativo. Recomendamos que você use esses pacotes para suas implantações porque eles permitem a atualização automática das bibliotecas do Visual C++. Para um exemplo que mostra como usar estes pacotes, veja Guia: Deploye uma aplicação Visual C++ usando o pacote Visual C++ Redistributable.

Cada pacote do Visual C++ Redistributable verifica a existência de uma versão mais recente no computador. Se for encontrada uma versão mais recente, o pacote não está instalado. No Visual Studio 2015 ou posterior, os pacotes redistribuíveis exibem uma mensagem de erro a indicar que a configuração falhou. Se um pacote usar a /quiet flag para executar, não aparece nenhuma mensagem de erro. Em qualquer dos casos, o instalador da Microsoft regista o erro e um resultado de erro é devolvido ao interlocutor.

No Visual Studio 2015 e posteriores, pode evitar este erro verificando o registo para verificar se existe uma versão mais recente instalada. O número de versão instalado atualmente é armazenado na tecla HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0\VC\Runtimes\{x86|x64|arm64}.

O número de versão é 14.0 para Visual Studio 2015, 2017, 2019 e 2022 porque o mais recente Redistributable é compatível binariamente com versões anteriores desde 2015. A chave é arm64, x86 ou x64 dependendo das versões instaladas do vcredist para a plataforma. (Só necessita verificar sob a Wow6432Node subchave se utilizar o Regedit para visualizar a versão do pacote x86 instalado numa plataforma x64.)

O número de versão é armazenado no valor de cadeia REG_SZ e também no conjunto de valores Version, Major, Minor, Bld, e RbldREG_DWORD. Para evitar um erro no momento da instalação, deve saltar a instalação do pacote redistributable se a versão atualmente instalada for mais recente.

Opções de linha de comandos para os pacotes redistribuíveis

O Visual C++ Redistributable oferece suporte a várias opções de linha de comando. As /?opções , /h, ou /help exibem um diálogo que lista as opções disponíveis. Podes especificar /install para instalar, /repair reparar ou /uninstall desinstalar o Redistributable. A opção /layout copia o conteúdo completo do Redistributable no diretório atual.

Por padrão, o Redistributable instala seu conteúdo e solicita ao usuário informações e se deve reiniciar após a instalação. Pode modificar este comportamento com as seguintes opções:

  • /passive: mostra uma barra de progresso à medida que o Redistributable se instala, mas não requer interação do utilizador.
  • /quiet: não apresenta uma interface de utilizador nem requer qualquer interação com o utilizador. Use /quiet para instalações totalmente desacompanhadas.
  • /norestart: suprime qualquer tentativa de reiniciar. Por padrão, um arquivo de log é criado no %TEMP%.
  • /log filename.txt para aceder a um ficheiro específico.

Se não estiver a correr a partir de uma linha de comandos com privilégios elevados, terá de responder a um prompt de Controlo de Conta de Utilizador para permitir que o instalador seja executado com privilégios administrativos.

Este comando de exemplo instala o x64 Redistributable. Mostra o progresso da instalação, mas não requer interação do utilizador para além de um reinício:

vc_redist.x64.exe /install /passive /norestart

Instalar os módulos de mesclagem redistribuíveis

Importante

Módulos de mesclagem (arquivos.msm) para arquivos Visual C++ Redistributable foram preteridos. Não recomendamos que os utilize para implementação de aplicações. Em vez disso, recomendamos a implantação central do pacote Visual C++ Redistributable. A implementação centralizada por um pacote redistribuível permite à Microsoft gerir ficheiros de biblioteca em tempo de execução de forma independente. Uma desinstalação da sua aplicação não pode afetar outras aplicações que também usam implantação central.

Quando usas um pacote redistribuível para implementação central, não és responsável por acompanhar e manter as bibliotecas em tempo de execução. Caso contrário, uma atualização das bibliotecas de execução exige que deva atualizar e reinstalar o seu instalador .msi. Seu aplicativo pode estar vulnerável a bugs ou problemas de segurança até que você o faça.

Os módulos de fusão redistribuíveis devem estar incluídos no pacote Windows Installer (ou pacote de instalação semelhante) que utiliza para implementar a sua aplicação. Para mais informações, consulte Redistribuir usando módulos de fusão. Para um exemplo, veja Walkthrough: Deploye uma aplicação Visual C++ usando um projeto de configuração.

Instalar arquivos redistribuíveis individuais

Também é possível instalar diretamente as DLLs Redistribuíveis na pasta local do aplicativo . A pasta local do aplicativo é a pasta que contém o arquivo do aplicativo executável. Por razões de manutenção, não recomendamos que utilize este local de instalação.

Potenciais erros em tempo de execução

Se Windows não conseguir encontrar uma das DLLs Redistribuíveis exigidas pela sua aplicação, pode mostrar uma mensagem semelhante a esta: "Esta aplicação falhou ao iniciar porque library.dll não foi encontrada. Reinstalar o aplicativo pode corrigir esse problema."

Para resolver este tipo de erro, certifique-se de que o instalador da sua aplicação compila corretamente. Verifique se as bibliotecas redistribuíveis são implementadas corretamente no sistema de destino. Para mais informações, veja Compreender as dependências de uma aplicação Visual C++.