Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Actualizar una Aplicación (https://www.clubdelphi.com/foros/showthread.php?t=3052)

sitrico 19-08-2003 20:08:33

Actualizar una Aplicación
 
He desarrollado una aplicación pero con el tiempo he tenido que hacerle agunoa ajustes y mejoras. para actualizar a los usuarios he usado un programa de autoextracción (WINZIP) que toma el ejecutable actualizado y lo sobreescribe al existente. Estoy tratando de generar mi propio programa de autoextracción para evitar el uso de WinZip. El problema es que no he podido encontrar la manera de agregar al final del archivo otro archivo como un ¿recurso? para poder enviar a los usuarios un único archivo ejecutable.

Los procesos de compresión y descompresión no me han dado problema.

Específicamente quiero saber como juntar 2 o más archivos en uno sólo y como separarlos despues desde la ejecución de la aplicación de actualización.

__cadetill 19-08-2003 20:59:39

Para ese cometido yo utilizo una libreria que es free (la LibZLB) que incluso comprime mas que el WinZip y que se integra perfectamente con el Delphi.

Para descarga de la libreria y un "bonito" ejemplo de su uso, consulta mi web en el apartado WinZLB (dentro del menu Delphi - App/Utils) donde encontrarás un des/compresor hecho con esta libreria :p

Espero te sirva

sitrico 20-08-2003 18:40:22

Ví la aplicación y muestra un buen ejemplo de como juntar todos los archivos de mi actualización en un archivo comprimido único (.ZLB) que es un buen comienzo. ahora sólo me falta juntar ese archivo con otro (ejecutable) que permita enviar un solo archivo que separe y descomprima los archivos adjuntos. Creo que debe hacerse adjuntando el .zlb como un recurso del ejecutable y despues hacer un LoadFromResource desde la aplicación. El problema es que todos los ejemplos de recursos que he econtrado usan imágenes y un editor de recursos, y la verdad no sé como convertir un .zlb a un recurso. Agradecería cualquier sujerencia.

delphi.com.ar 20-08-2003 18:46:34

Lo más fácil, es tener el o los archivos como recurso, después con las WinApis FindResource, LoadResource, LockResource, CreateFile, WriteFile... puedes leer tu recurso y escribirlo bajarlo como un archivo. No se si las últimas versiones de Delphi traen algún stream o algo mas práctico para esto.
Te recomiendo investigar estas funciones, y cualquier duda... ¡Aquí estamos!

Saludos!

__cadetill 20-08-2003 20:57:34

bueno, el procedimiento que yo utilizo es el siguiente

en la carpeta donde esta instalada la aplicacion, hay una subcarpeta (llamemosla Downloads) donde se pondran los archivos zlb

tengo dos ejecutables. Uno es el programa (mas las dlls que necesite o bpl) y otro es el que se encarga del trabajo sucio, el "lanzadera"

Esta lanzadera, lo primero que hace es mirar si existe algun fichero en el directorio Downloads. Si existe, lo descomprime y actualiza los programas que toque, luego borra el zlb y lanza la aplicación.

Es una manera, pero para acualizar apps hay miles, es cuestion de escoger la que mas te guste ;)

sitrico 20-08-2003 22:08:20

Gracias a todos por sus respuestas, pero algunas veces es más fácil comenzar desde cero. No se que tan frecuentemente uno mismo se responda en un foro pero al final encontre la aplicacción Inno Setup que permite generar exactamente el tipo de archivo que quería usando un simple script. Me parece una opción muy interesante frente a installshield la página oficial es http://www.jrsoftware.org/isinfo.php y la traducción al español está en http://www.softonic.com/informacion_...d=26294&plat=1

De cualquier forma gracias nuevamente.


La franja horaria es GMT +2. Ahora son las 22:40:24.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi