Escolhendo um método de implantação

Na implantação da maioria dos casos de Visual C++ aplicativos é feito com a implantação do Windows Installer. Para obter mais informações sobre os métodos de implantação com suporte no Visual Studio e alternativas, consulte Escolhendo uma estratégia de implantação e Deployment Alternatives. Implantação de ClickOnce para Visual C++ não há suporte para aplicativos nativos Visual Studio 2010; No entanto, é possível implantar Visual C++ aplicativos por meio de ClickOnce na linha de comando. For more information, see ClickOnce a implantação de aplicativos Visual C++.

Bibliotecas Visual C++ são DLLs compartilhadas

Visual Studio 2010Instala Visual C++ bibliotecas como DLLs compartilhadas no diretório %windir%\system32. Para garantir que seu Visual C++ aplicativo será executado em um computador sem Visual C++ instalado, talvez você precise redistribuir Visual C++ as DLLs com seu aplicativo e verificar se estão instalados no computador de destino.

Redistribuindo bibliotecas Visual C++

Existem três maneiras para redistribuir as DLLs do Visual C++:

  • Recomendamos que você use o pacote redistribuível do Visual C++ (VCRedist_x86.exe, VCRedist_x64.exe, VCRedist_ia64.exe) para instalar todas as bibliotecas do Visual C++ como DLLs compartilhadas em % windir%\system32. Visual Studio esse pacote for instalado na pasta %WindowsSdkDir%\Bootstrapper\Packages. Você também pode baixar a partir de Centro de Download da Microsoft. Para obter um exemplo de como usar este pacote, consulte Demonstra Passo a passo: Implantando um aplicativo Visual C++ usando o pacote redistribuível do Visual C++.

  • Use o Visual C++ Redistributable Merge Modules para instalar uma determinada biblioteca do Visual C++ como DLLs compartilhadas em %windir%\System32.. Acesso a essa pasta requer que o aplicativo instalador ser executado por um usuário com direitos administrativos. Para obter mais informações, consulte Redistribuindo usando módulos de mesclagem. Um exemplo dessa implantação pode ser encontrado em Demonstra Passo a passo: Implantando um aplicativo Visual C++ usando um projeto de instalação.

  • Instalar um determinado Visual C++ DLL na mesma pasta que o aplicativo usando arquivos fornecem no diretório 10.0\VC\Redist de Visual Studio de Programas\Microsoft do programa. Dessa forma é recomendada para permitir a instalação de aplicativos por usuários que não têm direitos administrativos ou quando ele deve ser possível executar um aplicativo a partir de um compartilhamento.

Ao instalar Visual C++ bibliotecas usando módulos de mesclagem redistribuíveis, as DLLs são implantadas como DLLs compartilhadas em % windir%\system32. Acesso a essa pasta requer que o aplicativo instalador ser executado por um usuário com direitos administrativos.

Se a instalação é executada por um usuário que não tem direitos administrativos, a instalação falhar implantar o Visual C++ DLLs e o aplicativo irão executar. Além disso, alguns produtos podem permitir a instalação em uma base por usuário, mas os módulos de mesclagem instalar bibliotecas em locais compartilhados e afetam todos os usuários do sistema. Nesses dois e situações semelhantes, a técnica de suporte é instalar as DLLs necessárias no diretório de aplicativo de um usuário específico.

Com essa técnica é suficiente para copiar DLLs para a pasta local do aplicativo. Carregador do sistema operacional, o ao executar o aplicativo usa a ordem de pesquisa, descrita em LoadLibraryEx.

Redistribuição incorreta das bibliotecas do Visual C++ pode resultar em erros de tempo de execução durante a execução de um aplicativo que depende deles

Prefira a vinculação dinâmica pela vinculação estática

Não é recomendável para redistribuir aplicativos C/C++ que se vinculam estaticamente para Visual C++ bibliotecas. Muitas vezes por engano presume que estaticamente vinculando seu programa bibliotecas Visual C++ é possível melhorar significativamente o desempenho de um aplicativo. No entanto o impacto no desempenho do carregamento dinâmico de Visual C++ bibliotecas é insignificante em quase todos os casos. Além disso, a vinculação estática não permitem para manutenção do aplicativo e suas bibliotecas dependentes pelo autor do aplicativo ou Microsoft. Por exemplo, considere um aplicativo que esteja vinculado a uma biblioteca de determinado executando em um computador cliente com uma nova versão dessa biblioteca. O aplicativo ainda usa o código da versão anterior desta biblioteca e não se beneficiará melhorias de biblioteca, como, por exemplo, os aprimoramentos de segurança. Os autores de aplicativos em C/C++ são altamente aconselhável pensar através do cenário de serviço antes de decidir estaticamente link nas bibliotecas dependentes e usar a vinculação dinâmica sempre que possível.

Consulte também

Conceitos

Escolhendo uma estratégia de implantação

<>>Implantação e segurança do ClickOnce

Exemplos de implantação

Outros recursos

Implantação (Visual C++)

Windows Installer Deployment Overview