AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1531318
Accepted
Phoenix
Phoenix
Asked: 2020-03-09 19:07:11 +0800 CST2020-03-09 19:07:11 +0800 CST 2020-03-09 19:07:11 +0800 CST

Por que não é recomendado executar um arquivo .exe diretamente de um arquivo .zip?

  • 772

Achei que poderia compactar um .exearquivo para uso portátil. Mas o Windows diz que não funcionará porque pode depender de outros arquivos na pasta compactada.

Mensagem de aviso do Windows

O que isto significa? Por que não posso simplesmente executar o programa a partir do arquivo zip? O aplicativo pode usar um caminho relativo em vez de um caminho direto para acessar outros arquivos.

windows zip
  • 3 3 respostas
  • 17126 Views

3 respostas

  • Voted
  1. Best Answer
    Keltari
    2020-03-09T19:53:49+08:002020-03-09T19:53:49+08:00

    Arquivos executáveis ​​(.exe) podem depender de outros arquivos para execução adequada. Por exemplo, eles podem precisar de uma biblioteca vinculada dinamicamente (.dll) para executar o código externo, um arquivo de texto (.ini, .txt, etc) para configuração ou um arquivo de banco de dados para - bem, dados.

    Ao executar um executável de dentro de um arquivo, como um arquivo .zip, esses arquivos podem não ser extraídos e o programa não funcionará conforme o esperado. Como alternativa, o programa pode ser executado e criar esses arquivos em um local diferente. Se você moveu esse arquivo para outro computador, esses arquivos não estarão lá.

    Se você tem 100% de certeza de que a execução do programa a partir do arquivo não causará nenhum problema, você pode ignorar a mensagem com segurança.

    • 75
  2. plugwash
    2020-03-10T08:46:01+08:002020-03-10T08:46:01+08:00

    Embora o Windows moderno faça os arquivos ZIP parecerem pastas, isso é superficial. Um programa não pode fazer algo como open('c:\foo.zip\bar.txt','rb').

    Portanto, quando você clica duas vezes em um arquivo em um arquivo ZIP, o Windows extrai o arquivo para um diretório temporário e abre o arquivo temporário.

    Isso é problemático de várias maneiras. Em primeiro lugar, se o arquivo temporário for modificado, as modificações não encontrarão seu caminho de volta para o arquivo ZIP. IIRC, o Windows atenua isso marcando o arquivo temporário como somente leitura. Em segundo lugar, se o arquivo depender de outros arquivos disponíveis nos locais relativos corretos, eles não serão encontrados.

    Muitos executáveis ​​dependem de arquivos de suporte, então a MS adicionou o aviso com uma opção para extrair apenas o arquivo executável ou extrair tudo no arquivo ZIP.

    Nenhum dos dois é realmente adequado para muitos "aplicativos portáteis", devido ao problema de que não há como as modificações nos arquivos de dados do programa encontrarem seu caminho de volta para o arquivo ZIP.

    • 26
  3. Netspud2K
    2020-03-10T13:47:13+08:002020-03-10T13:47:13+08:00

    Há muitos motivos pelos quais a execução de um .exe a partir de um zip pode causar problemas.

    Em primeiro lugar, conforme mencionado, quando você "executa" o arquivo, ele é realmente extraído para um local temporário e, em seguida, executado.

    Problemas imediatos significam que todos os arquivos que também podem ter sido compactados com o EXE provavelmente não foram extraídos e, portanto, não podem ser acessados. Isso pode incluir bibliotecas necessárias para executar o .exe, arquivos de configuração e até coisas simples como arquivos de ajuda.

    Além disso, mesmo que você tenha compactado tudo "que achou" o arquivo necessário (no arquivo zip), e estes são extraídos de alguma forma, as instalações modernas geralmente incluem coisas como:

    Dados adicionados aos arquivos de biblioteca/driver do registro do Windows armazenados em outros locais, pois podem ser compartilhados com outros programas de registro de arquivos de biblioteca/driver

    Isso é apenas o básico

    Você então tem outros possíveis problemas adicionados, de direitos de acesso/arquivo, estes podem estar faltando e o programa pode ser executado incorretamente como resultado.

    Então, mesmo se você colocar o programa em execução, a maioria dos aplicativos modernos requer o salvamento de algum tipo de dado de configuração para uso futuro. Como o aplicativo está em um local temporário, provavelmente será excluído (junto com todos os arquivos que ele criar) e praticamente impossível de ser encontrado novamente (sim, eu sei que não é realmente impossível, mas não é muito gerenciável). E vale a pena notar que qualquer coisa criada pelo aplicativo provavelmente não encontrará o caminho de volta para o zip.

    Portanto, a menos que você tenha um aplicativo independente que não exija salvamento de configuração e seja projetado especificamente para ser executado como um aplicativo independente, é melhor não tentar executá-lo a partir de um Zip.

    Se você está tentando tornar algo portátil, geralmente é uma opção melhor usar aplicativos projetados para serem executados a partir de um cartão de memória ou unidade virtual.

    Espero que isto ajude.

    • 5

relate perguntas

  • Como desativar a aceleração do mouse em um touchpad de precisão do Windows?

  • renomear em massa conjuntos de arquivos de imagem

  • Qual seria o equivalente em lote do argumento "pass" do Python?

  • Comunique-se com o daemon do Docker no Windows

  • atalho do shell da área de trabalho no painel lateral do explorer

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 Por que uma conexão de Internet gigabit/s via cabo (coaxial) não oferece velocidades simétricas como fibra? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    fixer1234 O "HTTPS Everywhere" ainda é relevante? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve