Como usar ExitExecRestart para instalar arquivos do sistema

Traduções deste artigo Traduções deste artigo
ID do artigo: 114606 - Exibir os produtos aos quais esse artigo se aplica.
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Expandir tudo | Recolher tudo

Sumário

Alguns procedimentos de instalação requerem a instalação de arquivos (como CTL3D.DLL, Commdlg.dll e fontes) que pode estar em uso pelo Windows no momento em que o programa de instalação é executada. Windows é provável que possuem esses arquivos abertos, portanto, não pode ser instalados sem causar violações de compartilhamento. O Toolkit de instalação fornece recursos para sair do Windows, instalar esses arquivos e reinicie o Windows ao concluir.

Mais Informações

O Toolkit de instalação realiza a instalação do sistema de arquivos da seguinte maneira:

  1. Antes do Toolkit de instalação copia um arquivo de sistema, ele verifica se o arquivo está aberto no momento. Se for, ele copia o arquivo para o diretório de destino, mas em um nome de arquivo diferente. Em seguida, ele adiciona esse arquivo à "lista de reinicialização".
  2. Quando CopyFilesInCopyList() estiver concluída, o Toolkit de instalação verifica a "lista de reinicialização" e gera um arquivo .bat (chamado _MSSETUP.BAT) em "diretório de reinicialização". Esse arquivo .bat contém comandos que exclua os arquivos de sistema que estavam abertos (na etapa 1 #) e renomeie as novas versões seus nomes correto.
  3. Windows é encerrado, arquivo .bat executado, em seguida, o Windows é reiniciado.
  4. O arquivo .bat, em seguida, é excluído.

    Observação: O "diretório de reinicialização" não é excluído. Portanto, você deve usar diretório de instalação do aplicativo como o diretório de reinicialização.
Portanto, para instalar arquivos do sistema, execute as seguintes etapas:

  1. Marcar os arquivos de sistema como "sistema" no programa DSKLAYT. Isso é feito, realçando todos os arquivos do sistema (clicar com a tecla CTRL pressionada) e colocando uma marca na caixa de seleção "Arquivo de sistema" em "Atributos de arquivo".
  2. Antes de chamar CopyFilesInCopyList() especificar o nome do seu "diretório de reinício". Supondo que o diretório de destino para seu aplicativo é armazenado em $ DEST (como nos exemplos), use a seguinte linha:
          SetRestartDir DEST$
    						
    o diretório especificado não precisa existir. Ela será criada se necessário.
  3. Após a instalação estiver concluída, execute o código a seguir antes de sair do script de instalação. Normalmente, esse código será colocado no final da sub-rotina de instalação.
          if RestartListEmpty ()=0 then
              '' The following two lines must go on one line.
              MessageBox hwndFrame (), "Windows will now be exited and
              restarted.", "Sample Setup Script", MB_OK+MB_ICONINFORMATION
          eer:
              i%=ExitExecRestart ()
              '' The following three lines must go on one line.
              MessageBox hwndFrame (), "Windows cannot be restared because
              MS-DOS-based applications are active. Close all MS-DOS-based
              applications, and then click OK.", "Sample Setup Script",
              MB_OK+MB_ICONSTOP
              goto eer
          end if
    						
    Observação: para usar a função de MessageBox() você deve adicionar as seguintes linhas no início do script de instalação:
          const MB_ICONINFORMATION = 64
          '' The following two lines must go on one line.
    
          declare sub MessageBox lib "user.exe" (hwnd%, message$,
          title$, options%)
    						
  4. Adicionar o arquivo _MSSETUP.EXE para sua pasta de origem e Formatar-saída no disco 1 na DSKLAYT.
  5. Adicionar uma referência ao _MSSETUP.EXE à seção [arquivos] de seu .LST arquivo. Por exemplo,

    Se você marcou _MSSETUP.EXE a ser compactado,
        [files]
            _mssetup.ex_ = _mssetup.exe
    						
    se você não o marcou como compactado,
        [files]
            _mssetup.exe = _mssetup.exe
OBSERVAÇÕES:

  1. Se ExitExecRestart () for bem sucedida, o script será encerrado. Isto é, ExitExecRestart () não irá retornar. Se retornar, ocorreu um erro.
  2. Essa funcionalidade não está disponível em Windows 3.0. Se o usuário executa o script acima do programa de instalação no Windows 3.0, receberão a mensagem que estão executando aplicativos baseados em MS DOS e eles não poderá concluir a instalação. Se isso for uma preocupação, verifique a versão do Windows antes de executar o código acima.
  3. Se _MSSETUP.EXE não está no seu arquivo .LST ou não dispostos em DSKLAYT, você receberá uma mensagem "Falha de declaração" ao chamar ExitExecRestart ().

Propriedades

ID do artigo: 114606 - Última revisão: sábado, 22 de fevereiro de 2014 - Revisão: 3.0
A informação contida neste artigo aplica-se a:
  • Microsoft Windows Software Development Kit 3.1
  • Microsoft Win32 Software Development Kit (SDK) 3.5
Palavras-chave: 
kbnosurvey kbarchive kbmt KB114606 KbMtpt
Traduçã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: 114606

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com