2009-05-04 20 views
8

Debido a una serie de restricciones que no voy a entrar, tengo que crear un archivo ZIP autoextraíble en un cuadro de Linux. El archivo resultante debe ser ejecutable solo en Windows. ¿Es esto posible? Si es así, ¿qué herramientas harían el trabajo?Creación de un archivo zip autoextraíble en un cuadro de linux

Antecedentes: cuando el usuario descarga un paquete de instalación de mi Linuxbox, necesito que el paquete de instalación se rellene previamente con una determinada clave. Solo conozco esa clave en tiempo de ejecución; mi idea era escribir un archivo .xml simple con esa clave, luego comprimir el instalador .msi con ese archivo xml en un archivo autoextraíble, y enviar ese archivo al navegador. Si tiene ideas alternativas sobre cómo hacer que suceda, me encantaría escucharlas, también

+0

Deberá dejar en claro en qué plataforma específica el archivo debe ser ejecutable. – bignose

+0

Se ha agregado una aclaración: solo Windows. –

Respuesta

9

Su respuesta se puede encontrar en la siguiente página: http://ubuntuforums.org/showthread.php?t=847329 Tenga en cuenta que no me atribuyo más que el uso de Google y encontrar algo que suene lógicamente que funcionaría. No garantizo que esta información funcionará, o que ya podrá encontrar los materiales mencionados en línea. Solo soy un fan de Google. Espero que esto ayude.

El problema Hace unos días tuve que crear un archivo ZIP Win32 compatibles de extracción automática para un amigo. Suena fácil, a la derecha. El problema era que no tenía una máquina de Windows cerca y no quería instalar ningún programa de archivo en Wine.

NOTA: Un programa ZIP freeware como IZArc en Wine se puede utilizar para crear un archivo ZIP autoextraíble Win32 también. Eso no estará cubierto por este cómo, disculpe.

La "investigación" googlear alrededor encontré este mensaje del foro, de agosto de 2003. Su lectura descubrí que archivos zip de extracción no son nada más que un adecuada descomprimir binaria seguido de un archivo ZIP normal. Usé el unzipsfx.exe incluido en Info-ZIP Desbloquear 5.52.

El enlace en esa publicación funcionó unos pocos días atrás así que tuve en mis manos el unzipsfx.exe que estaba buscando. Hoy, 2 de julio de 2008, encontré el enlace muerto. Después de algunas google no lo hice encontrar un vínculo de trabajo en cualquier lugar. Leí la licencia unas cuantas veces y entendí que puedo redistribuir el archivo original unzipsfx.exe con una licencia incluida.

Tenga en cuenta que el UnZipSFX-552_win32.tar.gz (80 kB) es no un paquete oficial de Info-ZIP y que incluye software con derechos de autor que me da ningún crédito correspondiente. Más información en la licencia Info-ZIP que también se incluye en el tarball. El código fuente para los archivos binarios incluidos se puede encontrar aquí.

La solución

Paso uno, conseguir la UnZipSFX.exe y postal paquete: * abrir la terminal (en Ubuntu alt pulse + F2 y escriba gnome-terminal) * Tipo en el siguiente código de comandos:

wget http://kolmoskone.homelinux.org/~kaja/kamaa/unzipsfx-552_win32.tar.gz tar zxf UnZipSFX-552_win32.tar.gz sudo apt-get install zip

Paso dos, creando un archivo ZIP en Ubuntu: * abrir el administrador de archivos (Nautilus) y seleccione los archivos que desea tener cremallera * haga clic derecho y seleccione Crear un archivo (o similar). Seleccione una ubicación para el archivo ZIP, usando su directorio principal es el más fácil. Seleccione tipo .zip. Consulte hombre zip para obtener información sobre cómo crear un archivo ZIP al comando línea.

Paso tres, por lo que el archivo ZIP de extracción automática * Tipo en el siguiente código de comandos:

UnZipSFX-552_win32

cat/unzipsfx.exe MYZIPFILE.zip> mysfxfile.exe postal -A mysfxfile. exe

mysfxfile.exe ahora se puede abrir en cualquier sistema compatible Win32 (incluyendo, por ejemplo Windows XP/2000/Vista e incluso vino en Linux) o cualquier programa cOMPATIBLE archivo ZIP como file-roller en Ubuntu.

0

Pude hacer esto funcionar con unzipsfx. Hay una versión más nueva disponible, acaba de salir en abril de 2009, versión 6.0. La versión 5.52 no admitía la funcionalidad crítica que necesitaba, iniciando un archivo de configuración particular después de que se completa la extracción.

Así que descargué los archivos fuente para 6.0. Luego los modifiqué para excluir la marca de "preguntar para iniciar cosas" que está allí por defecto. Volví a compilar usando Visual Studio 2008, probé los pasos descritos en el tutorial anterior y todo funciona como un encanto ahora.

+0

Si ha encontrado la respuesta, ¿podría marcarla como correcta? Además, vincular la respuesta a la página con el software sería útil. – bignose

Cuestiones relacionadas