ID do artigo: 330314 - Última revisão: segunda-feira, 4 de agosto de 2003 - Revisão: 1.0

PROBLEMA: Não reiniciar o computador após instalar um aplicativo do Microsoft Visual Basic 6.0 que inclua um arquivo MSVCRT.dll

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 | Recolher tudo

Sintomas

Após você instalar o aplicativo Microsoft Visual Basic 6.0 que é fornecido com o Package and Deployment Wizard, você receber uma dos seguintes erros ao iniciar seu computador:
  • Microsoft Windows NT 4.0:
    STOP: c000021a {Erro Fatal do sistema}
    O processo de sistema de processo de logon do Windows finalizou inesperadamente com um status de 0x00000080 (0 x 00000000 0 x 00000000).

    O sistema foi desligado.
  • Microsoft Windows 2000:
    A instalação não pode continuar porque alguns arquivos de sistema estão desatualizados em seu sistema. Clique em OK se quiser que a instalação para atualizar esses arquivos para você agora. Você precisará reiniciar o Windows antes de executar o programa de instalação novamente. Clique em Cancelar para sair da instalação sem atualizar arquivos de sistema.
    Ao Windows 2000 reiniciar e, em seguida, inicie novamente a instalação, você recebe a mensagem de erro novamente.
  • Microsoft Windows 98:
    MSVCRT.dll arquivo está vinculado ao exportar NTDLL.dll: RtlGetNTVersionNumbers.
    Depois de receber esse erro, uma caixa de diálogo Parar com a seguinte mensagem é exibida:
    Um dispositivo anexado ao sistema não está funcionando.

Causa

Você recebe um erro porque o pacote de instalação instala uma versão do arquivo MSVCRT.dll no seu computador que é incompatível com o sistema operacional. Isso normalmente ocorre porque MSVCRT.dll está listado como uma dependência em um arquivo de dependência (.dep) para um dos componentes que seu aplicativo Visual Basic usa e incluir o aplicativo em um sistema operacional mais recente, como o Microsoft Windows XP.

Resolução

Recuperação do sistema

Windows NT 4.0

Para reparar um sistema operacional Windows NT 4.0 que executa o sistema de arquivos (FAT) de tabela de alocação de arquivos, inicialize o computador em um prompt de comando e, em seguida, substituir manualmente MSVCRT.dll na pasta C:\Winnt\System32 com uma cópia do arquivo do CD do Windows NT 4.0 ou com uma cópia do arquivo de um computador que está executando com êxito o sistema operacional Windows NT 4.0.

Para reparar um computador Windows NT 4.0 que executa o NTFS sistema de arquivos (NTFS), inicialização do computador usando um disco de reparação de emergência (ERD).Para obter informações adicionais sobre esse tópico, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
103280  (http://support.microsoft.com/kb/103280/ ) Usando um ERD criado pelo Windows NT

Windows 98

Para reparar um sistema Windows 98, você deve inicialize o computador em um prompt de comando usando um disco de inicialização. Em seguida, substitua manualmente MSVCRT.dll na pasta C:\Windows\System com uma cópia do arquivo do CD do Windows 98 ou com uma cópia do arquivo de um computador que está executando o Windows 98 com êxito.

Impedir que a redistribuição de MSVCRT.dll

Para impedir que o problema ocorra novamente no futuro, não redistribua MSVCRT.dll com seu pacote de instalação. MSVCRT.dll está em Microsoft C Runtime Library e MSVCRT.dll é instalado com o sistema operacional. Atualize somente MSVCRT.dll usando pacotes de serviço do sistema operacional.

Quando você usa o Package and Deployment Wizard para empacotar o aplicativo, remova MSVCRT.dll da lista de arquivos a ser incluído no pacote. Como alternativa, se você tiver um pacote de instalação que já está montado e você quiser modificar o pacote de instalação para impedir que MSVCRT.dll que está sendo instalado, execute estas etapas:
  1. Abra o arquivo Setup.lst usando o bloco de notas ou usando outro editor de texto.
  2. Verifique a seção [Inicialização Files] e verifique a seção [Setup1 Files] para determinar se MSVCRT.dll está incluído.
  3. Remover o arquivo = linha para MSVCRT.dll e, em seguida, Renumerar linhas que permanecem nessa seção.
  4. Salve o arquivo.

    Na próxima vez que você executa Setup.exe, Setup.exe não tentará instalar MSVCRT.dll.

Situação

A Microsoft confirmou que esse é um problema nos produtos da Microsoft listados no começo deste artigo.

Mais Informações

Passos para reproduzir o problema

  1. Abra o arquivo de dependência para Scrrun.dll. Observe as entradas a seguir:
    [scrrun.dll]
    Dest=$(WinSysPath)Register=$(DLLSelfRegister)Version=4.0.0.2926
    Uses1=MSVCRT.dllCABFileName=ScrRun.cabCABDefaultURL=http://activex.microsoft.com/controls/vb6CABINFFile=ScrRun.inf
    
    [MSVCRT.dll]
    Dest=$(WinSysPathSysFile)Uses1=
  2. Crie um projeto Standard EXE no Visual Basic 6.0.
  3. No menu Project , clique em referências .
  4. Clique em Microsoft Scripting Runtime biblioteca e em seguida, clique em OK .
  5. Salvar o projeto e, em seguida, crie um EXE compilado.
  6. Use o Package and Deployment Wizard para criar um pacote de instalação usando as configurações padrão.
  7. A partir da pasta pacote , abra o arquivo Setup.lst no bloco de notas.
  8. Em Setup1 Files , observe a seguinte entrada:
    File1=@msvcrt.dll,$(WinSysPathSysFile),,,8/29/02 5:41:08 AM,323072,7.0.2600.1106
    Essa entrada mostra que uma versão mais recente do MSVCRT.dll está sendo redistribuída com o pacote de instalação. Neste ponto, se você instalar este pacote em um computador que é executado no sistema operacional do Windows 98 ou se você instalar este pacote a um computador executado no sistema operacional Windows NT 4.0, você recebe uma dos erros mencionados na seção "Sintomas" deste artigo. Se você instalar este pacote em um computador que é executado no sistema operacional Windows 2000, a instalação solicitará que você permitir que ela atualizar arquivos de sistema e reiniciar. Ao Windows 2000 reiniciar e, em seguida, inicie novamente a instalação, você recebe a mensagem de erro novamente.

A informação contida neste artigo aplica-se a:
  • Microsoft Visual Basic 6.0 Professional Edition
Palavras-chave: 
kbmt kbprb KB330314 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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 330314  (http://support.microsoft.com/kb/330314/en-us/ )