none
Application.StartPath não localiza o arquivo zip RRS feed

  • Pergunta

  • Olá, tenho duas aplicações em C#. Uma dela é o Aplicação 1 e outra um Atualizador. O usuário vai executar a Aplicação 1 que tem um botão nela que chama o Atualizador. Ao executar o Atualizar ele faz o download de um arquivo Zip e extrai esse arquivo e executa um dos arquivos que foi extraído.

    Para chamar o atualizador pelo Aplicação 1 estou usando 

    Process.Start(CaminhoLocal + @"\\Atualizador.exe");

    Aplicação 1 está no diretório C:\EmpresaX\software

    Atualizador está no diretório C:\EmpresaX\atualizador

    Ao executar a Aplicação 1 e clicar no botão para executar o Atualizador ele é executado e faz o download do arquivo Zip na pasta do Atualizador mas ao tentar extrair não encontra o Zip ocorre um erro informando que tentou extrair o Zip do diretório da Aplicação 1. Se eu utilizar somente o Atualizador sem executar ele 

    Já tentei varias formas de fazer o software extrair do diretório correto que é do Atualizador onde foi baixado o zip mas sem sucesso. Já tentei com essas opções abaixo:

    Application.StartupPath
    
    System.IO.Path.GetDirectoryName()
    
    System.Reflection.Assembly.GetExecutingAssembly().Location
    
    System.Reflection.Assembly.GetExecutingAssembly().CodeBase
    
    System.AppDomain.CurrentDomain.BaseDirectory.ToString()
    Para fazer o download do Arquivo estou usando

    WebClient1.DownloadFileAsync

    Para extrair o arquivo Zip estou usando

    Ionic.Zip.ZipFile zFile = new ZipFile();
    
                                    ZipFile zipFile = ZipFile.Read(ZipName);
                                    {
                                        foreach (ZipEntry zipEntry in zipFile)
                                        {
                                            zipEntry.Extract(CaminhoLocal + @"\\", ExtractExistingFileAction.OverwriteSilently);
                                        }
                                    }
    


    Se foi util marque a resposta. Ajude a manter o forum organizado.

    quarta-feira, 20 de novembro de 2019 18:04

Todas as Respostas

  • Pode postar qual a mensagem de erro que esta dando?
    quinta-feira, 21 de novembro de 2019 16:49
  • ************** Texto de Exceção **************
    System.IO.FileNotFoundException: Não foi possível localizar o arquivo 'C:\EmpresaX\software\InstagramFast.zip'.
    Nome do arquivo: 'C:\EmpresaX\software\InstagramFast.zip'
       em System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
       em System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
       em System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
       em System.IO.File.Open(String path, FileMode mode, FileAccess access, FileShare share)
       em Ionic.Zip.ZipFile.get_ReadStream()
       em Ionic.Zip.ZipFile.ReadIntoInstance(ZipFile zf)
       em Ionic.Zip.ZipFile.Read(String fileName, TextWriter statusMessageWriter, Encoding encoding, EventHandler`1 readProgress)
       em Ionic.Zip.ZipFile.Read(String fileName)
       em Atualizador.Form1.WebClient1_Completed(Object sender, AsyncCompletedEventArgs e) na C:\Users\Atendimento\Desktop\Desktop\mark 1\atualizador InstagramFast\Atualizador\Atualizador\Form1.cs:linha 256
       em System.Net.WebClient.OnDownloadFileCompleted(AsyncCompletedEventArgs e)
       em System.Net.WebClient.DownloadFileOperationCompleted(Object arg)

    O zip foi baixado na pasta C:\EmpresaX\atualizador
    Mas a função de extrair está buscando ele em 
    C:\EmpresaX\software


    Se foi util marque a resposta. Ajude a manter o forum organizado.


    • Editado Egon Freire segunda-feira, 25 de novembro de 2019 12:52
    segunda-feira, 25 de novembro de 2019 12:50