bioshock 169 Denunciar mensagem Publicado 28 de Abril de 2010 Para uma actualização da aplicação, sem ter que desinstalar a aplicação actual e voltar a instala-la, gostaria de saber quais são os ficheiros que são necessários de uma aplicação para fazer um replace? Por exemplo, se um novo form é actualizado, quais os ficheiros para actualizar esse form? Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
ribeiro55 46 Denunciar mensagem Publicado 28 de Abril de 2010 Todo o executável ou dependência (caso o executável as carregue @runtime). Terás de acrescentar as dependências novas, se tiveres entretanto adicionado algumas. Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips" Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
bioshock 169 Denunciar mensagem Publicado 28 de Abril de 2010 O que é para ti "Todo o executável" ? Estou a criar uma aplicação, em que estou a debate-la aqui: http://www.portugal-a-programar.pt/index.php?showtopic=34887, para fazer automaticamente as actualizações da aplicação. Após aqui uns testes no meu PC, criei alguns processos que funcionam perfeitamente e criei o executável da aplicação (com o INNOSETUP), adicionei-lhe a dll necessária, testei e funcionou tudo perfeitamente. Agora, experimentei correr aqui num portátil ao lado, a aplicação corre perfeitamente, mas ele dá erro quando tento fazer download de um ficheiro do FTP para o PC. Bem, os dados de authenticação vão no código.. Eu apenas utilizo para authenticação ftp.Hostname = "ftp" ftp.Username = "user" ftp.Password = "pass" Mas secalhar tem alguma coisa haver com o AUTH SSL, não? Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
ribeiro55 46 Denunciar mensagem Publicado 28 de Abril de 2010 Pode ser "n" coisas. Para começar, que erro é devolvido? Quando digo "Todo o executável" refiro-me ao ficheiro .EXE Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips" Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
bioshock 169 Denunciar mensagem Publicado 28 de Abril de 2010 Pois, foi o que eu sempre pus. Eu quer-me parecer que a DLL não é instalada no PC do cliente. Digo isto, pois é única lógica que chego. Entrei no FTP pelo PC do cliente e funciona tudo bem, mas na aplicação não funciona. E o erro que dá é: "Failed to create key in registry" Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
ribeiro55 46 Denunciar mensagem Publicado 28 de Abril de 2010 Que raio de DLL estás a usar para uploads e downloads, tão bera que precise de ter chaves no registo? A .NET tem métodos nativos para download e upload de ficheiros. Alternativamente, se o host environment for WinVista/7, tenta correr com direitos de administrador. O erro descreve nitidamente uma tentativa de escrita no registo falhada, que pode ou não ter sido despoletada por a tal DLL. Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips" Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
bioshock 169 Denunciar mensagem Publicado 28 de Abril de 2010 Acreditas que o problema estava mesmo nos direitos de administrador? Nem me tinha lembrado disso. Mas não existe forma de contornar isto? Se a aplicação rodar em 100 pc's em cada um tenho que ir lá e executar como administrador? Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
ribeiro55 46 Denunciar mensagem Publicado 28 de Abril de 2010 Primeiro despista o problema. Se com admin correr, vais ter de descobrir onde e porque razão se está a tentar escrever no registo. Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips" Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
bioshock 169 Denunciar mensagem Publicado 28 de Abril de 2010 Bem, eu estou a usar a biblioteca chilkat.. Creio que existem métodos para resolver este problema, assim por alto apanhei este exemplo na net: Dim securePass As New Security.SecureString() Dim pass As String = "password" For Each c As Char In pass securePass.AppendChar(c) Next ' If there isn't a domain, set the argument to 'Nothing', as demonstrated below. Process.Start("testsoftware\WinKBSel\WinKBSel1003.exe", "username", pass, Nothing) Tenho que experimentar. Outro ponto: Em relação ao que tu disseste: Todo o executável ou dependência (caso o executável as carregue @runtime). Terás de acrescentar as dependências novas, se tiveres entretanto adicionado algumas. Vamos supor que existe uma alteração no FormClientes (por exemplo). Para actualizar o FormClientes, eu vou ter que uppar para o FTP o executável, correcto? Porque se eu for à pasta onde está instalada a aplicação, os ficheiros que apenas aparecem são: O desinstalador, as dll's e o executável. Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
ribeiro55 46 Denunciar mensagem Publicado 28 de Abril de 2010 Sim. Os forms estão "contidos no ficheiro EXE". Não tenho experiência com a biblioteca, não te posso ser grande ajuda. Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips" Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
bioshock 169 Denunciar mensagem Publicado 28 de Abril de 2010 Eu fiz aqui uma experiência rápida e pareceu-me funcionar bem! Mas vou para casa e vou dar uma olhadela nisto mais pormenorizado e logo digo algo. A biblioteca é muito porreira, simplifica os comandos. Obrigado pela ajuda ribeiro Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites