Artigo: 831491 - Última revisão: segunda-feira, 22 de Janeiro de 2007 - Revisão: 5.0

Receberá várias "ficheiros de sistema são desactualizados" mensagens de erro quando instala uma aplicação do Visual Basic 6.0

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Reduzir tudo

Sintomas

Quando instalar uma aplicação do Microsoft Visual Basic 6.0 que o pacote utilizando o Package and Deployment Wizard num computador com o Microsoft Windows 2000, Windows XP ou Windows Server 2003, receberá a seguinte mensagem de erro:
Programa de configuração não consegue continuar porque alguns ficheiros de sistema são desactualizados no sistema. Clique em OK se desejar configuração para actualizar estes ficheiros para o utilizador agora. Terá de reiniciar o Windows antes de executar novamente o programa de configuração. Clique em ' Cancelar ' para sair sem actualizar os ficheiros de sistema.
Se clicar em OK para actualizar os ficheiros e reiniciar o Windows, receberá a mesma mensagem de erro quando executar o Setup.exe para concluir a instalação.

Causa

Este problema ocorre quando o pacote de configuração tenta instalar uma versão mais recente de um ficheiro protegido pela funcionalidade Protecção de ficheiros do Windows no sistema operativo. Por exemplo, se o pacote de configuração foi criado num computador com o Windows Server 2003 e o pacote de configuração inclui um ficheiro protegido pela funcionalidade Protecção de ficheiros do Windows, este problema ocorre em computadores que têm uma versão anterior do mesmo ficheiro e que com o Windows XP ou Windows 2000.

Quando o programa de configuração instala o pacote de configuração, o programa de configuração compara a versão do ficheiro que já se encontra no sistema operativo com a versão do ficheiro incluída no pacote de configuração. Se o ficheiro que está incluído no pacote de configuração for mais recente do que o ficheiro que já esteja no sistema operativo, o programa de configuração substitui a versão do ficheiro que está no sistema operativo e, em seguida, apresenta a mensagem que o programa de configuração tem de reiniciar o computador.

Depois do ficheiro é substituído, a funcionalidade Protecção de ficheiros do Windows detecta que o ficheiro foi substituído e, em seguida, reverte o ficheiro novamente para a versão original. Depois do programa de configuração é reiniciado e, em seguida, executa novamente o ficheiro Setup.exe, o ciclo repete.

Resolução

Para resolver este problema, certifique-se que o pacote de configuração não redistribuir ficheiros de sistema mais recentes do que os ficheiros no sistema operativo de destino. Para o fazer, utilize os seguintes procedimentos.

Aplicar o service pack mais recente do Visual Basic 6.0

Aplica o Visual Basic 6.0 service pack mais recente no computador de compilação. A partir do Visual Basic 6.0 Service Pack 4, versões anteriores do ficheiros de sistema necessários estão localizados na pasta Redist no computador de compilação. Quando o Package and Deployment Wizard assembla um pacote, procura na pasta Redist primeiro dependências. Assim, novas versões de pacote utilizam as versões mais antigas dos ficheiros necessários do sistema que estão localizados na pasta Redist. Desta forma, o pacote distribui versões mais recentes dos ficheiros necessários do sistema. A pasta Redist está na seguinte localização:
C:\Program Files\Microsoft Visual Studio\VB98\Wizards\PDWizard\Redist
Para obter o Visual Basic 6.0 service pack mais recente, visite o seguinte Web site da Microsoft:
http://msdn2.microsoft.com/en-us/vstudio/aa718364.aspx (http://msdn2.microsoft.com/en-us/vstudio/aa718364.aspx)

Remover os ficheiros sistema normalmente redistribuído do pacote de configuração

Certifique-se de que o pacote de configuração não redistribuir ficheiros de sistema desnecessários. Cada aplicação do Visual Basic 6.0 requer que os seguintes ficheiros de sistema automatização OLE esteja instalado à função. Estes ficheiros devem ser instalados com o pacote de configuração. Se aplicar do Visual Basic 6.0 Service Pack 4 ou posterior no computador de compilação, o Package and Deployment Wizard pacotes versões mais antigas destes ficheiros da pasta Redist, como discutido na secção anterior.
  • OLEPRO32.dll
  • Ficheiro Oleaut32.dll
  • ASYCFILT.dll
  • STDOLE2.tlb
Diferente destes ficheiros, não existe normalmente nenhuma razão para redistribuir ficheiros de sistema com um pacote de configuração do Visual Basic 6.0. Redistribuição do ficheiro de sistema só deve ser concluída com service packs do sistema operativo ou com correcções.

Nota MSVBVM60.dll também é um ficheiro necessário para a função de aplicações do Visual Basic. Este ficheiro não é um ficheiro de sistema e não faz parte da protecção de ficheiros do Windows.

Ficheiros de sistema que devem ser excluídos do pacote redistribuível

Quando utiliza o Package and Deployment Wizard para compactar a aplicação, examine a lista de ficheiros que sejam redistribuídas no ecrã ficheiros incluídos. Clique para desmarcar a caixa de verificação junto seguintes ficheiros se estiverem listados:
  • MSVCRT.dll
  • MSVCRT20.dll
  • MSVCRT40.dll
  • MSVCIRT.dll
  • MFC42.dll
  • MFC40.dll
Uma boa forma de correcta é um pacote de configuração rejeitar o pacote de configuração e, em seguida, criar um novo pacote de configuração utilizando o Package and Deployment Wizard, depois de seguir os procedimentos abordados nas secções anteriores.

Além disso, para se certificar de que o Package and Deployment Wizard primeiro tenta localizar ficheiros da pasta Redist, não seleccione um script de embalagem quando inicia o Package and Deployment Wizard. O Package and Deployment Wizard tenta localizar os ficheiros da mesma localização que utilizado durante a tentativa de embalagem anterior. Embora a versão correcta de um ficheiro pode ser localizado na pasta Redist, Package and Deployment Wizard poderão não utilizar a correcta versão do ficheiro se é fornecido o ficheiro de uma localização diferente durante a tentativa de embalagem anterior.

Se tem de corrigir este problema num pacote de configuração que já tenha sido reunido, pode editar o ficheiro Setup.lst para impedir a instalação dos ficheiros de sistema inválida. Para o fazer, siga estes passos:
  1. Abra o ficheiro Setup.lst num editor de texto, tal como o bloco de notas.
  2. Localizar [Bootstrap Files] secção e [ PackageName ficheiros] secção .

    Nota Neste passo, PackageName é um marcador para o nome do pacote real.
  3. Verificar se estas secções incluem uma ou mais dos ficheiros listados na "sistema de ficheiros que normalmente são redistribuídos com pacotes de Visual Basic" secção. Se for esse o caso, remova a entrada e, em seguida, renumerar as restantes entradas de ficheiro na secção.
  4. Guardar o ficheiro e, em seguida, feche o ficheiro.
  5. Certifique-se que o ficheiro Setup.lst modificado está localizado na mesma pasta como o ficheiro Setup.exe e o ficheiro CAB para o pacote de configuração.

    Da próxima vez que executar o programa de configuração, o pacote não tenta instalar ficheiros que removeu do ficheiro Setup.lst.

Ponto Da Situação

Este comportamento ocorre por predefinição.

Referências

Para obter informações adicionais, clique no número de artigo que se segue s para visualizar os artigos na base de dados de conhecimento da Microsoft:
222193   (http://support.microsoft.com/kb/222193/ ) Descrição da funcionalidade de protecção de ficheiros do Windows
330314   (http://support.microsoft.com/kb/330314/ ) PROBLEMA: O computador não reiniciar depois de instalar uma aplicação do Microsoft Visual Basic 6.0 que inclua um ficheiro MSVCRT.dll

A informação contida neste artigo aplica-se a:
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 6.0 Learning Edition
Palavras-chave: 
kbmt kbpdwizard kbprb kbdebug kbdeployment KB831491 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 831491  (http://support.microsoft.com/kb/831491/en-us/ )