PROBLEMA COM UPDATER/ATUALIZADOR.
Galera estou com um problema, tenho um atualizador de arquivos..
1. Ele checa se tem os arquivos, se tiver deleta, se não não faz nada..
2. Ele loga no proxy com um usuário tudo liberado e faz o download dos arquivos.
3. O funcionário clica em Instalar Atualizações, o sistema de update da um UnZip no .zip baixado.
O Problema: tenho 40 estações rodando esse aplicativo porém em 2 delas sempre tenho o seguinte problema:
Já instalei o Framework, troquei o framework e tudo mais.. não é erro de programação porque uso try catch em tudo e ele simplesmente
para de funcionar do nada.. utilizo componentes da DevExpress porém acho que não seja isso também pois meu sistema utiliza componentes da Dev também
e funciona na máquina só que o atualizar sempre da esse problema e não dá mensagem nenhuma...
Alguém pode me auxiliar?
1. Ele checa se tem os arquivos, se tiver deleta, se não não faz nada..
2. Ele loga no proxy com um usuário tudo liberado e faz o download dos arquivos.
3. O funcionário clica em Instalar Atualizações, o sistema de update da um UnZip no .zip baixado.
O Problema: tenho 40 estações rodando esse aplicativo porém em 2 delas sempre tenho o seguinte problema:
Já instalei o Framework, troquei o framework e tudo mais.. não é erro de programação porque uso try catch em tudo e ele simplesmente
para de funcionar do nada.. utilizo componentes da DevExpress porém acho que não seja isso também pois meu sistema utiliza componentes da Dev também
e funciona na máquina só que o atualizar sempre da esse problema e não dá mensagem nenhuma...
Alguém pode me auxiliar?
Ele está utilizando alguma thread para realizar o processo?
Sim ele está utilizando um Thread Sleep pra não fazer tudo muito rápido a velocidade da luz..
O mais provável ainda é algum erro que você não tratou, ou não esperava que pudesse acontecer.
Se ainda não fez você pode pegar o erro para saber onde ele está acontecendo, como está usando o VB.Net tente o seguinte, nas propriedades do projeto, na aba Application você deve encontrar um botão chamado [Ô]View Application Events[Ô], ao clicar nele ele deve criar um arquivo chamado ApplicationEvents.vb, com a classe MyApplication, caso ele ainda não exista
Neste arquivo você vai tratar um evento chamado UnhandledException, eu diria para simplesmente colocar um MessageBox para pegar o erro, algo do tipo
Se ainda não fez você pode pegar o erro para saber onde ele está acontecendo, como está usando o VB.Net tente o seguinte, nas propriedades do projeto, na aba Application você deve encontrar um botão chamado [Ô]View Application Events[Ô], ao clicar nele ele deve criar um arquivo chamado ApplicationEvents.vb, com a classe MyApplication, caso ele ainda não exista
Neste arquivo você vai tratar um evento chamado UnhandledException, eu diria para simplesmente colocar um MessageBox para pegar o erro, algo do tipo
Private Sub MyApplication_UnhandledException(sender As Object, e As ApplicationServices.UnhandledExceptionEventArgs) Handles Me.UnhandledException
MessageBox.Show(e.Exception.ToString())
End Sub
Citação:Private Sub MyApplication_UnhandledException(sender As Object, e As ApplicationServices.UnhandledExceptionEventArgs) Handles Me.UnhandledException
MessageBox.Show(e.Exception.ToString())
End Sub
Mesmo fazendo tudo isso que voce falou OCELOT ele continua fechando sem nenhuma mensagem de erro nem nada voltando ao mesmo problema do inicio..
E o que é pior no meu computador funciona sem dar problema nenhum já na estação ta osso!!
você está utilizando a propriedade CheckForIllegalCrossThreadCalls?
Citação::
você está utilizando a propriedade CheckForIllegalCrossThreadCalls?
Não estou não cara.
Verifique o Service Pack e versão do windows de cada uma das máquinas, da que está funcionando e da que não está. Se os frameworks estão com a mesma versão, verifique permissões de usuário, isso porque a descompactação é feita em pasta temporária que pode estar configurada para uma pasta ao qual o usuário logado não tem acesso. Evite o uso de threads quando a tarefa envolver alguma coisa da rede, seja LAN ou WAN, threads e sockets não se dão muito bem. Entenda também que um bloco try...catch, não terá qualquer eficiência se você não usar em TODAS as rotinas e ir jogando a exceção de dentro para fora. Ou seja, nas rotinas [Ô]mais internas[Ô], deve-se usar a instrução throw para [Ô]trazer[Ô] o erro para a mais externa, incluindo se for dentro de uma thread e/ou qualquer método delegado. A simples existência de um bloco try...catch, não exime de erros de ambiente e/ou rede, mas se estiver corretamente montada ela pode conter informações valiosas para a depuração do problema. Considere a utilização de uma WebAPI para fazer o update. é possÃvel sim, retornar um arquivo através dela e de várias formas diferentes.
Acredito que possa ser algo relacionado com o windows, especificamente na restrição.
No windows 8, o usuário administrador não é o administrador, sim, isto mesmo. Para habilitar o usuário administrador no windows 8 você deve utilizar o prompt e executar o seguinte comando : net user administrador /active:yes
Quando o usuário é restrito (Mesmo não sendo convidado), o windows bloqueia alguns acessos, como o disco local (C:), fazendo com que não seja possÃvel criar ou alterar um arquivo neste diretório ou em algum sub-diretório.
No windows 8, o usuário administrador não é o administrador, sim, isto mesmo. Para habilitar o usuário administrador no windows 8 você deve utilizar o prompt e executar o seguinte comando : net user administrador /active:yes
Quando o usuário é restrito (Mesmo não sendo convidado), o windows bloqueia alguns acessos, como o disco local (C:), fazendo com que não seja possÃvel criar ou alterar um arquivo neste diretório ou em algum sub-diretório.
Obrigado gente, vou dar uma checada na versão do Windows..
Aconteceu esse problema comigo. Se o app funciona em 20 maquina e em 1 não, o problema não é o aplicativo. No meu caso o windows 8.1 não deixava eu salvar na pasta temp por causa de permissão de usuario na unidade C: como ja mencionaram.
Tópico encerrado , respostas não são mais permitidas