Como substituir-viver um exe win32 sendo usado por muitos usuários no Windows Server 2008?

1

Eu tenho um aplicativo de intranet interno como um arquivo exe (win32, escrito em Delphi).

Atualizo regularmente com novos recursos e patches.

Muitas pessoas estão acessando o mesmo exe (usando o desktop remoto).

No Windows Server 2003 para substituir o arquivo que eu precisava:

renomeie o arquivo antigo, copie o novo arquivo.

Isso não é mais possível em 2008, já que, devido ao mesmo armazenamento em cache, o novo arquivo não funciona. Ele roda, mas há problemas (provavelmente ligados à maneira como o Delphi usa os recursos exe). A única maneira é fechar todas as sessões dos usuários e substituir o arquivo.

Você pode sugerir um método que funcione? Simples se possível? É possível desativar esse cache? Ou qualquer outro truque que me permita substituir um arquivo (sem alterar o caminho completo).

    
por user193655 10.05.2011 / 16:42

3 respostas

4

Como alternativa, você pode criar um novo lançador que nunca muda. Ele irá ler qual versão do executável iniciar e iniciar a versão atualizada.

Portanto, se os atalhos do usuário final apontarem para filename.exe, então é isso que você nomearia seu ativador, o ativador pode ler o arquivo filename.versions e executar filename.version.exe.

    
por 10.05.2011 / 18:29
7

Agende uma janela de manutenção e substitua o arquivo quando não houver usuários trabalhando com ele. Só porque o Server 2003 permitiu que você se safasse fazendo algo errado, não significa que 2008 deva.

A parte em que você mencionou isso:

The only way is to close all the users sessions and replace the file.

é o caminho certo para fazer isso.

    
por 10.05.2011 / 16:47
0

Eu acho que se você usar o compressor UPX, você poderá remover o executável. Depois que o .exe é descompactado no RAM.

    
por 19.02.2013 / 20:50