Artigo: 330314 - Última revisão: segunda-feira, 4 de Agosto de 2003 - Revisão: 1.0

PROBLEMA: Não reiniciar o computador depois de instalar uma aplicação do Microsoft Visual Basic 6.0 inclui um ficheiro 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 | Reduzir tudo

Sintomas

Depois de instalar a aplicação do Microsoft Visual Basic 6.0 que é fornecida com o pacote e o Assistente de implementação, recebe um dos seguintes erros quando iniciar o computador:
  • Microsoft Windows NT 4.0:
    STOP: c000021a {Erro fatal do sistema}
    O processo de sistema de processo de início de sessão do Windows terminou inesperadamente com um estado de 0x00000080 (0 x 00000000 0 x 00000000).

    O sistema foi encerrado.
  • Microsoft Windows 2000:
    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.
    Quando reinicia o Windows 2000 e, em seguida, iniciar a instalação novamente, receberá novamente a mensagem de erro.
  • Microsoft Windows 98:
    MSVCRT.dll ficheiro está ligado à falta de exportar NTDLL.dll: RtlGetNTVersionNumbers.
    Depois de receber este erro, receberá uma caixa de diálogo Parar com a seguinte mensagem:
    Um dispositivo ligado ao sistema não está a funcionar.

Causa

Receber um erro porque o pacote de configuração instala uma versão do ficheiro MSVCRT.dll no computador que é incompatível com o sistema operativo. Isto normalmente acontece porque MSVCRT.dll é listado como uma dependência num ficheiro de dependência (.dep) para um dos componentes que utiliza a aplicação do Visual Basic e incluir a aplicação num sistema operativo mais recente, tais como o Microsoft Windows XP.

Resolução

Recuperação de sistema

Windows NT 4.0

Para reparar um sistema operativo Windows NT 4.0 com o sistema de ficheiros (FAT, File Allocation Table) da tabela de atribuição de ficheiros, inicie o computador numa linha de comandos e substituir manualmente MSVCRT.dll na pasta C:\Winnt\System32 por uma cópia do ficheiro do CD do Windows NT 4.0 ou com uma cópia do ficheiro de um computador com êxito com o sistema operativo Windows NT 4.0.

Para reparar um computador Windows NT 4.0 com o NTFS sistema de ficheiros (NTFS), o computador utilizando um disco de reparação de emergência (ERD) de arranque.Para obter informações adicionais sobre este tópico, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
103280  (http://support.microsoft.com/kb/103280/ ) Utilizar um disco de reparação de emergência criado pelo Windows NT

Windows 98

Para reparar um sistema operativo do Windows 98, deve iniciar o computador numa linha de comandos utilizando uma disquete de arranque. Em seguida, substitua manualmente MSVCRT.dll na pasta C:\Windows\System com uma cópia do ficheiro a partir do CD do Windows 98 ou com uma cópia do ficheiro a partir de um computador com êxito com o Windows 98.

Impedir Redistribution de MSVCRT.dll

Para impedir que o problema ocorra futuramente, não redistribua MSVCRT.dll com o pacote de configuração. MSVCRT.dll está na biblioteca de tempo de execução do Microsoft C e MSVCRT.dll é instalado com o sistema operativo. Actualizar apenas MSVCRT.dll utilizando service packs do sistema operativo.

Quando utiliza o Package and Deployment Wizard para compactar a aplicação, remova MSVCRT.dll da lista de ficheiros a ser incluído no pacote. Em alternativa, se tiver um pacote de configuração já está montado e pretende modificar o pacote de configuração para impedir a instalação de MSVCRT.dll, siga estes passos:
  1. Abra o ficheiro Setup.lst utilizando o bloco de notas ou utilizando outro editor de texto.
  2. Verifique a secção [Files Bootstrap] e verifique a secção [Setup1 Files] para determinar se MSVCRT.dll está incluída.
  3. Remover o ficheiro = linha para MSVCRT.dll e, em seguida, renumerar as linhas nessa secção.
  4. Guarde o ficheiro.

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

Ponto Da Situação

A Microsoft confirmou que este erro ocorre nos produtos da Microsoft listados no início deste artigo.

Mais Informação

Passos para reproduzir o comportamento

  1. Abra o ficheiro de dependência para Scrrun.dll. Tenha em atenção as seguintes entradas:
    [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 projecto EXE padrão no Visual Basic 6.0.
  3. No menu projecto , clique em References .
  4. Clique em Microsoft Scripting Runtime biblioteca e, em seguida, clique em OK .
  5. Guardar o projecto e, em seguida, criar um EXE compilado.
  6. Utilize o Package and Deployment Wizard para criar um pacote de configuração, utilizando as predefinições.
  7. Da pasta pacote , abra o ficheiro Setup.lst no bloco de notas.
  8. Em Setup1 Files , repare a seguinte entrada:
    File1=@msvcrt.dll,$(WinSysPathSysFile),,,8/29/02 5:41:08 AM,323072,7.0.2600.1106
    Esta entrada mostra que uma versão mais recente do MSVCRT.dll está a ser redistribuída com o pacote de configuração. Nesta altura, se instalar este pacote de um computador que executa no sistema operativo Windows 98 ou se instalar este pacote para um computador compatível com o sistema operativo Windows NT 4.0, receberá um dos erros mencionados na secção "Sintomas" deste artigo. Se instalar este pacote para um computador compatível com o sistema operativo Windows 2000, o programa de configuração solicitará a permitir que actualizar ficheiros de sistema e, em seguida, reinicie. Quando reinicia o Windows 2000 e, em seguida, iniciar a instalação novamente, receberá novamente a mensagem de erro.

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 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: 330314  (http://support.microsoft.com/kb/330314/en-us/ )