Por que às vezes os arquivos exe são bloqueados pelo Windows?

1

Temos um Fattracs de aplicativo interno que é usado por 10 a 30 usuários na Citrix. Todos os usuários iniciam suas próprias instâncias. O arquivo exe reside em vários servidores com o Windows 2003 R2 que é balanceado pela Citrix. Quando uma nova versão chega, os arquivos exe devem ser alterados. Se houver apenas alguns usuários, ele costumava trabalhar para alterar o arquivo exe na hora. Novos usuários, em seguida, tem as novas versões e os usuários existentes têm que reiniciar para obtê-lo. Mas com muitos usuários o Windows pode de alguma forma bloquear o arquivo exe. Então temos que expulsar todos os usuários antes da mudança.

Alguém que conhece a razão e melhor ainda como resolver isso? Nós temos algumas compartilhamentos de arquivos para o diretório de exes, já que não queremos usar o Remote Desktop o tempo todo para acessá-lo. Isso significa alguma coisa?

    
por berocoder 03.09.2009 / 21:24

3 respostas

2

Use o comando "net file" no servidor que hospeda o arquivo compartilhado para ver quais usuários têm o arquivo aberto.

Use o comando "net file / close" na mesma caixa para forçar que qualquer sessão retornada pelo primeiro comando seja fechada.

Em seguida, você poderá atualizar o arquivo.

C:\Users\tf>net file /?
The syntax of this command is:

NET FILE
[id [/CLOSE]]

Como alternativa, use a seção Compartilhamentos no Gerenciamento do Computador para obter a mesma coisa.

    
por 03.09.2009 / 21:27
0

Você pode usar o identificador para descobrir quem está bloqueando os arquivos. E até mesmo para remover o bloqueio. Infelizmente, não é uma operação segura. Talvez o usuário que está executando o aplicativo carregue dinamicamente uma dll que você acabou de substituir por uma versão incompatível. Eu não sei se isso está relacionado ao compartilhamento (o utilitário de manuseio vai te falar sobre isso) e eu não sei de uma solução para isso: - (.

    
por 03.09.2009 / 22:02
0

Veja o que GNU Emacs faz.

Quando ele é iniciado, ele procura por uma versão mais recente; uma emacs- versão .exe onde versão é mais recente que a versão atual. Em seguida, eles instalam emacs.exe e emacs- versão .exe e só reclamam se o último não puder ser instalado.

Para materiais internos, se você não tiver versões, simplesmente considere procurar por main-1.exe e falhar com main-2.exe e assim por diante, e simplesmente criar um novo arquivo sempre que for instalado. O make main.exe procura a versão com numeração mais alta.

Seu instalador também pode remover arquivos main- N .exe , se quiser.

    
por 03.09.2009 / 22:48