Inquiridor
Application.StartPath não localiza o arquivo zip

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\atualizadorAo 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.DownloadFileAsyncPara 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.
Todas as Respostas
-
-
************** 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