Saltar al contenido

¿Por qué no se recomienda ejecutar un archivo .exe directamente desde un archivo .zip?

Hola usuario de nuestro sitio, descubrimos la solución a tu interrogante, continúa leyendo y la verás aquí.

Solución:

Los archivos ejecutables (.exe) pueden depender de otros archivos para una ejecución adecuada. Por ejemplo, es posible que necesiten una biblioteca vinculada dinámicamente (.dll) para ejecutar código externo, un archivo de texto (.ini, .txt, etc.) para la configuración o un archivo de base de datos para datos.

Al ejecutar un ejecutable desde un archivo comprimido, como un archivo .zip, es posible que esos archivos no se extraigan y el programa no funcione según lo previsto. Alternativamente, el programa podría ejecutarse y crear esos archivos en una ubicación diferente. Si luego movió ese archivo a otra computadora, esos archivos no estarán allí.

Si está 100% seguro de que ejecutar el programa desde el archivo no causará ningún problema, entonces puede ignorar el mensaje con seguridad.

Aunque Windows moderno hace que los archivos ZIP parezcan carpetas, esto es solo superficial. Un programa no puede hacer algo como open('c:foo.zipbar.txt','rb').

Entonces, cuando hace doble clic en un archivo en un archivo ZIP, Windows extrae el archivo a un directorio temporal y luego abre el archivo temporal.

Esto es problemático en un par de formas. En primer lugar, si se modifica el archivo temporal, las modificaciones no volverán al archivo ZIP. IIRC, Windows mitiga esto al marcar el archivo temporal como de solo lectura. En segundo lugar, si el archivo depende de que otros archivos estén disponibles en las ubicaciones relativas correctas, no se encontrarán.

Muchos ejecutables dependen de los archivos de soporte, por lo que MS agregó la advertencia con una opción para extraer solo el archivo ejecutable o extraer todo en el archivo ZIP.

Sin embargo, ninguno es realmente adecuado para muchas “aplicaciones portátiles”, debido al problema de que no hay forma de que las modificaciones en los archivos de datos del programa vuelvan al archivo ZIP.

Hay muchas razones por las que ejecutar un .exe desde un archivo zip podría causar problemas.

En primer lugar, como se mencionó, cuando “ejecuta” el archivo, en realidad se extrae a una ubicación temporal y luego se ejecuta.

Los problemas inmediatos significan que es probable que cualquier archivo que también se haya comprimido con el EXE no se haya extraído y, por lo tanto, no se pueda acceder a él. Esto puede incluir bibliotecas necesarias para ejecutar el .exe, archivos de configuración, incluso cosas tan simples como archivos de ayuda.

Además, incluso si comprimió todo lo que “pensaba” que el archivo necesitaba (en el archivo zip), y estos se extrajeron de alguna manera, las instalaciones modernas con frecuencia incluyen cosas como:

Datos agregados a la biblioteca de registro de Windows/archivos de controlador almacenados en otras ubicaciones, ya que pueden compartirse con otros programas registro de archivos de biblioteca/controlador

eso es solo lo basico

Luego tiene los otros posibles problemas adicionales, de derechos de acceso/archivo, estos pueden faltar y, como resultado, el programa puede ejecutarse incorrectamente.

Luego, incluso si ejecuta el programa, la mayoría de las aplicaciones modernas requieren guardar algún tipo de datos de configuración, para uso futuro. Como la aplicación está en una ubicación temporal, es probable que se elimine (junto con los archivos que crea) y sea prácticamente imposible volver a encontrarla de todos modos (sí, sé que en realidad no es imposible, pero no es muy manejable). Y vale la pena señalar que es probable que cualquier cosa creada por la aplicación no encuentre el camino de regreso al zip.

Por lo tanto, a menos que tenga una aplicación independiente que no requiera guardar la configuración y esté diseñada específicamente para ejecutarse como una aplicación independiente, es mejor no intentar ejecutarla desde un Zip.

Si está tratando de hacer algo portátil, generalmente es una mejor opción usar aplicaciones diseñadas para ejecutarse desde una tarjeta de memoria o una unidad virtual.

Espero que esto ayude.

Comentarios y valoraciones

Acuérdate de que tienes permiso de decir si te fue útil.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *