DESCOBRIR APLICATIVO USANDO DLL

PLUGSOFTSM 02/01/2017 22:47:05
#470270
Pessoal... Seguinte:

Minha Empresa tem uma carteira grande de clientes de modos que hoje meu pessoal gasta muito tempo pra atualizar versões em clientes via acesso remoto
Desenvolvi uma ferramenta que quando o cliente inicia o Sistema, verifica no site da minha empresa se existe alguma versão nova disponível e atualiza a mesma automaticamente. Porém, muitas vezes, tento atualizar alguma dll que está sendo usada por outro sistema e daí a rotina não funciona.
Minha necessidade: Descobrir qual aplicativo está fazendo uso da dll pra poder matar o serviço e efetuar a atualização...
Alguém conhece alguma rotina que faça isso...
JOAOBENEVIDES 02/01/2017 23:19:20
#470272
plugsofts seu sistema esta feito em que?
PLUGSOFTSM 02/01/2017 23:38:27
#470273
Visual Studio - VB.Net e algumas rotinas em C
JOAOBENEVIDES 03/01/2017 00:20:58
#470274
ta tenho um atualizador que atualiza as dll se voce quizer mais esta em vb6
NICKOSOFT 03/01/2017 05:13:36
#470277
Resposta escolhida
cuidado ao modificar dlls, pode parar outro programa q compartilha essa dll, qnd uso algumas dlls avulsas q não são instaladas via algum run time, deixo essas dlls na pasta do programa pra evitar problema de versão...assim qnd vc finaliza o seu programa ninguém mais usa a dll
KERPLUNK 03/01/2017 05:38:04
#470278
O caso é que você não precisa reinstalar todas as DLL[ô]s relacionadas todas as vezes. E se elas são compartilhadas com outros aplicativos então é uma péssima idéia sobrepor, pois você pode fazer com que esses outros aplicativos parem de funcionar na máquina do cliente. Sua aplicação deve ser o mais independente possível. Use bibliotecas de classe e OOP que você pode até mesmo fazer atualizações parciais, simplesmente copiando a nova DLL para a máquina do cliente, nem sequer necessitando instalar nada.
PLUGSOFTSM 03/01/2017 22:28:47
#470309
Na verdade, meu aplicativo é composto por diversas ferramentas que fazem diversas tarefas como (envio de email, Envio de SMS, PDV, CUPOM Eletrônico, Nota Fiscal Eletrônica, Conhecimento eletrônico de frete, Sped Fiscal, Chat entre usuários sistema, Troca de informações via ftp e outras tantas) algumas dessas ferramentas são aplicações independentes, mas que usam a mesma dll (que também foi desenvolvida pela minha empresa) . Para a atualização é necessários que todos as ferramentas do pacote estejam finalizadas. Se alguma dessas ferramentas estiver aberta, as dll compartilhadas por ela não serão atualizadas.
Daí a minha necessidade de descobrir qual aplicação está usando a dll para poder fechar via linha de código a aplicação.
Mas resolvi o problema percorrendo a lista de serviços e derrubando aqueles que podem travar a atualização da dll. Não sei como não havia pensado nisso antes....
De qualquer forma... agradeço a sugestão de todos que colaboraram
KERPLUNK 03/01/2017 22:47:58
#470313
Não esqueça de iniciar os serviços novamente após a instalação. E tente refazer o projeto para que todas as ferramentas sejam suas e depender o mínimo possível de terceiros.
NICKOSOFT 04/01/2017 08:49:40
#470315
ia sugerir algo assim, o programa q tenho q atualiza via web faz isso, mas apenas consulta a lista de executáveis, pois não tenho serviços....
o exe principal consulta se existe versão mais nova, existindo, dispara um executável de atualização, q trata de finalizar o exe principal q sera atualizado....
Tópico encerrado , respostas não são mais permitidas