Foros del Web » Programando para Internet » Python »

Nsis Unpak

Estas en el tema de Nsis Unpak en el foro de Python en Foros del Web. Hola Todos Soy nuevo en el foro y nuevo en python. Para empezar estoy intentando crear un lanzador portable para Dropbox en python que ya ...
  #1 (permalink)  
Antiguo 27/01/2011, 14:38
 
Fecha de Ingreso: enero-2011
Mensajes: 17
Antigüedad: 13 años, 9 meses
Puntos: 2
Información Nsis Unpak

Hola Todos

Soy nuevo en el foro y nuevo en python.

Para empezar estoy intentando crear un lanzador portable para Dropbox en python que ya tengo bastante avanzado.
Una de las funcionalidad que le quería añadir es que extrajera unos archivos del instalador de Dropbox que esta echo en Nsis.

Y como siempre tengo tendencia a complicarme la vida por que el meto fácil seria 7-zip extraerlos y listos, pero me gustaría que mi aplicación no dependiera directamente de otra aplicación (Exceptuando el DropBox claro).

Investigando he encontrado un modulo de python "pylzma" http://www.joachim-bauch.de/projects/pylzma/ basado en el SDK de 7-zip
que permite descomprimir archivos *.7z comprimidos con LZMA como NSIS pero como soy bastante novato no encuentro la manera de adaptar el codigo para extraer los archivos del exe.

Incluso he investigado el codigo fuente en C++ de 7za.exe para ver si encontrava la manera pero mis conocimientos de C++ son muy básicos y me pierdo.

Haber si alguien me puede echar una mano o darme alguna alternativa??

Salutaciones y muchas gracias por todo.
  #2 (permalink)  
Antiguo 27/01/2011, 14:57
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Nsis Unpak

Alguna razón para no usar las baterías integradas de python como zipfile o tarfile ?

O tiene que sea a fuerza .7z ?
  #3 (permalink)  
Antiguo 28/01/2011, 03:56
 
Fecha de Ingreso: enero-2011
Mensajes: 17
Antigüedad: 13 años, 9 meses
Puntos: 2
Respuesta: Nsis Unpak

Gracias por responder razpeitia.

Igual voy equibocado pero ni zipfile o tarfile soportan compresion LZMA que es el que usa el instalador de NSIS para empacar el instalador de DropBox.
  #4 (permalink)  
Antiguo 29/01/2011, 14:59
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Nsis Unpak

Tengo que disculparme por no haber leído todo el post :P

Cita:
Iniciado por serrallonga25 Ver Mensaje
Hola Todos
Soy nuevo en el foro y nuevo en python.
Bienvenido al foro. (Siento no haberte dado una bienvenida apropiada antes).

Cita:
Iniciado por serrallonga25 Ver Mensaje
Para empezar estoy intentando crear un lanzador portable para Dropbox en python que ya tengo bastante avanzado.
Una de las funcionalidad que le quería añadir es que extrajera unos archivos del instalador de Dropbox que esta echo en Nsis.
Entonces es un instalador? Algo asi como Envy pero para DropBox?

Cita:
Iniciado por serrallonga25 Ver Mensaje
Y como siempre tengo tendencia a complicarme la vida por que el meto fácil seria 7-zip extraerlos y listos, pero me gustaría que mi aplicación no dependiera directamente de otra aplicación (Exceptuando el DropBox claro).

Investigando he encontrado un modulo de python "pylzma" http://www.joachim-bauch.de/projects/pylzma/ basado en el SDK de 7-zip
que permite descomprimir archivos *.7z comprimidos con LZMA como NSIS pero como soy bastante novato no encuentro la manera de adaptar el codigo para extraer los archivos del exe.
Entonces quieres extraer archivos usando el método de compresión LZMA pero a la vez no quieres dependencias de otros paquetes? Eso es muy difícil, casi imposible para un simple mortal.

Cita:
Iniciado por serrallonga25 Ver Mensaje
Haber si alguien me puede echar una mano o darme alguna alternativa??
Trabajar con SDK (pero tener dependencias) o puedes hacer algo "quick and dirty". Como descomprimir .7zip (manualmente) comprimirlo con zipfile o tarfile y trabajar con estos últimos.

No se que es lo quieres hacer, pero también existen API's para trabajar con DropBox.
  #5 (permalink)  
Antiguo 29/01/2011, 15:29
 
Fecha de Ingreso: enero-2011
Mensajes: 17
Antigüedad: 13 años, 9 meses
Puntos: 2
Respuesta: Nsis Unpak

Gracias de nuevo por responder y perdona si no me expresado correctamente.

Cita:
Iniciado por razpeitia Ver Mensaje
Entonces es un instalador? Algo asi como [URL="http://albertomilone.com/nvidia_scripts1.html"]Envy[/URL] pero para DropBox?.

No conozco Envy, pero a rasgos sencillos es un archivo auto-descomprimible y ejecutable que instala el programa que lleva dentro en el lugar que le corresponde en el S.O.

[URL="nsis.sourceforge.net"]Pagina NSIS[/URL]

Cita:
Iniciado por razpeitia Ver Mensaje
Entonces quieres extraer archivos usando el método de compresión LZMA pero a la vez no quieres dependencias de otros paquetes? Eso es muy difícil, casi imposible para un simple mortal.

Trabajar con SDK (pero tener dependencias) o puedes hacer algo "quick and dirty". Como descomprimir .7zip (manualmente) comprimirlo con zipfile o tarfile y trabajar con estos últimos.
.
Cuando dije depender de otros paquetes me refería a depender de otro ejecutable en este caso "7za.exe" que es la versión de 7zip para linea de comandos.
Me estube planteando de empaquetar el archivo "7za.exe" dentro del ejecutable que genero con py2exe, pero despues pense que esto me podria llevar problemas con los antivirus al poner un exe dentro de otro exe.

La aplicación que estoy haciendo a grandes rasgos Hace lo siguiente.

1) Al Ejecutarse si esta en un directorio limpio genera la estructura de directorios que necesito.
2) Descarga de la pagina de DropBox la ultima versión del instalador.
3) Extre los archivos necesarios del instalador pra ejutarlos para que se comporten de una manera predeterminada (Aque es donde estoy enganchado que no consigo extraer los archivos automaticamente).

Cita:
Iniciado por razpeitia Ver Mensaje
No se que es lo quieres hacer, pero también existen [URL="http://www.dropbox.com/developers/releases"]API's para trabajar con DropBox[/URL].
Las API de DropBox si no me equivoco son para comunicarme con dropbox y yo eso no lo necesito.

Tambien he encontrado que 7zip tiene unas librerías "7z.dll" i "7za.dll" que igual las podria usar con ctypes pero eso me va muy grande todavia.

Salutaciones.
  #6 (permalink)  
Antiguo 05/02/2011, 15:25
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Nsis Unpak

Te recomiendo usar PyLzma es lo mas "amigable" único que he visto.
Para los ejemplos de como usarlo ver usage.txt en carpeta doc

Edito: Realmente me tomo tiempo instalarlo en mi debian lenny.

Última edición por razpeitia; 05/02/2011 a las 22:53
  #7 (permalink)  
Antiguo 06/02/2011, 06:58
 
Fecha de Ingreso: enero-2011
Mensajes: 17
Antigüedad: 13 años, 9 meses
Puntos: 2
Respuesta: Nsis Unpak

Gracias razpeitia.

Ya lo había instalado (tambien me costo mucho instalarlo).
pero no logre entender como usarlo para mi problema.

ya que por lo que entendi el modulo pylzma por si solo usa el algoritmo de compresión y descompresión, pero no obtengo el contenido del archivo, osea no se como leer el indice de archivos y carpetas que contiene para extraerlos individualmente. estube investigando el modulo que lo acompaña "py7zlib.py" que sirve para descomprimir los archivos *.7z solamente, pero no consigo adaptarlo para los NSIS.

Salutaciones y muchas gracias.

Etiquetas: 7-zip, lzma, nsis
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:06.