Pergunta

Depois de compilar um projeto simples C ++ utilizando o Visual Studio 2008 em vista, tudo corre bem na máquina vista original e outros computadores Vista. No entanto, movendo-o para uma caixa de XP resulta em uma mensagem de erro:. "A aplicação falhou ao iniciar porque a configuração da aplicação está incorrecta"

O que eu tenho que fazer isso a minha compilado EXE funciona no XP e Vista? Eu tive esse mesmo problema há alguns meses, e apenas brincando com alguns ajustes no projeto fixa-lo, mas eu não me lembro quais eu mudei.

Foi útil?

Solução

Você precisa instalar o tempo de execução Visual Studios 2008 sobre o computador de destino:

http: // www .microsoft.com / download / details.aspx? FamilyID = 9b2da534-3e03-4391-8a4d-074b9f2bc1bf & displaylang = en

Como alternativa, você também pode ligar o tempo de execução estaticamente, nas propriedades do projeto janela Ir para:

c ++ -> Geração de código -> Runtime Biblioteca e selecione "multi-thread / MT "

Outras dicas

Você precisa instalar arquivos redistribuíveis do tempo de execução na máquina que você está tentando executar o aplicativo no.

O redistribuível para 2008 é aqui .

O redistribuível para 2005 é aqui .

Eles podem ser instalados lado a lado, no caso de você precisa de ambos.

Você provavelmente precisará distribuir o tempo de execução VC com a sua aplicação. Há uma variedade de maneiras de fazer isso. Este artigo da equipe ++ Microsoft Visual C melhor explica as diferentes maneiras de distribuir essas dependências, se você estiver usando o Visual Studio 2005 ou 2008.

Como dito no artigo, que você pode baixar o pacote de instalação Redistributable e simplesmente lançar que na máquina do cliente, que é quase sempre não é a opção ideal. Normalmente existem melhores maneiras de incluir as DLLs necessárias, como a inclusão do módulo de mesclagem se você estiver distribuindo via configuração do Windows ou cópia App-local se você quiser apenas para distribuir uma pasta zipada.

Outra opção é ligar estaticamente contra as bibliotecas de tempo de execução, em vez de distribuí-los com a sua aplicação. Esta opção só é adequado para EXEs autônomo que não carregam outras DLLs. Você também não pode fazer isso com DLLs que são carregados por outros aplicativos.

É muito mais simples ao link para o tempo de execução estaticamente.

c ++ -> Geração de código -> Runtime Library e selecione "multi-threaded / MT"

No entanto, isso faz seu um par executável cem KByte maior. Isso pode ser um problema se você estiver instalando um grande número de pequenos programas, uma vez que cada um será sobrecarregado por sua própria cópia do tempo de execução. A resposta é criar um instalador.

Novo projeto -> "instalação e implantação" -> "projeto de instalação"

Coloque a saída de seus projetos de aplicativos (definidos usando a versão DLL do tempo de execução) para o projeto de instalação e construí-lo. A dependência do DLL de tempo de execução será notado, incluído no pacote de instalação, e ordenadamente e discretamente instalado no lugar correto na máquina de destino.

Visual Studio 2005, na verdade tem dois

A um para o original liberar

eo para SP1

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top