FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
ejecutable muy pequeño
Hola amigos estoy tratando de hacer una aplicación que se actualice con frecuencia de un ftp solo el ejecutable.
Como ya se ha tratado aquí en el foro el ejecutable es más grande en la versión de delphi xe6 que es la que uso, después de probar varias ideas de las que encontré por acá me doy cuenta que sigue siendo grande para lo que necesito. Entonces probé, en las opciones de runtime packages, le puse a true Donde dice link whith runtime packeges = true; Y perfecto es todo lo que necesito un ejecutable de 300k Ahora bien , como primeramente los clientes van a recibir un instalador en ese instalador Le voy a poner todo lo que necesito para que me funcione la aplicación y luego en la aplicación voy a poner que se actualice solo el ejecutable . Lo que necesito saber es como puedo obtener todo lo que necesito para ponerlo en la carpeta con el ejecutable, ya probé poniéndole la opción debug y poniendo a false primero link whith runtime packeges a ver si con todo lo que me genera en la carpeta debug ya es suficiente pero no me funciona cuando uso todo el contenido de debug con el ejecutable pequeño de la carpeta Release y con la link whith runtime packeges = true; Gracias y feliz 2016 Juank |
#2
|
|||
|
|||
En otras palabras quero poder copiar todas los ficheros necessarios para que funcione la aplicaion en un instalador y el ejecutable pequeño.
para poder actualizarlo nuevamente , en caso de que use otra dll o bpl nueva pues solamente esa copio. no se si se pueda hacer eso, hasta ahora el trabajo mayor consiste en copiar todo lo necesario para que funcione el programa. gracias juank |
#3
|
||||
|
||||
¿Por qué no lo dejas todo en un ejecutable?
|
#4
|
|||
|
|||
eso sería lo ideal casimiro pero es que estoy muy lejos de los clientes y el ancho de banda no es el mejor, además hay que hacer muchas modificaciones mínimas muy seguido, y quiero quitarme de arriba el problema de actualizar y poder hacerlo muy rapido, mando un correo que actualizen y con un botón se baja solamente el ejecutable nuevo.
A propósito de eso la forma que logre hacer cambiar el mismo ejecutable que uso la encontré en este foro pero no estaba incompleta , hay colegas que ponen solo parte del código y lo que faltaba era más difícil de lograr al menos en mi caso. Este código funciona perfecto para reescribir el propio ejecutable y reiniciar la aplicación abriendo el ejecutable nuevo suponiendo que el nuevo es D:\miexe.exe:
con eso reescribo el exe y ya esta todo lo grado solo me falta poder buscar todos los ficheros necesarios para ejecutar la aplicacion y meterla en un instalador gracias juank |
#5
|
||||
|
||||
Bien, aunque no entiendo el problema, ¿qué tiene que ver el debug?
|
#6
|
|||
|
|||
me imagine que no entendías, el debug no tiene nada que ver es que solo pensé que poniendo debug me ponía en la carpeta debug todo lo que necesitaba pero no fue así.
En resumen lo que quiero es: poniendo link whith runtime packeges en true en las opciones del proyecto y marcando Release en lugar de debug que es como más pequeño logro el exe. Quiero copiar todo lo que necesite mi proyecto para una carpeta y distribuir ese exe pequeño con todo lo que necesito en un instalador y cuando haga alguna modificación actualizar solamente el exe. Eso es lo que quiero hacer . |
#7
|
||||
|
||||
Ah, bien, pues entonces tendrás el .exe y los .bpl por separado.
Cuando modifiques el exe ya no es necesario enviar los bpl. |
#8
|
|||
|
|||
si eso mismo es lo que quiero lo que no logro es tener los pbl que necesito se me ocurre ahora buscando el dependency walker que me dice los bpl que necesita mi aplicacion
ese programa me da una lista de todos los bpl que uso y la ubicacion, ahora deja ver que invento para lograr copiar todos porque son muchos aun mismo lugar |
#9
|
||||
|
||||
Bueno, no te hace falta un programa externo para ver las BPL que usas, ya que estarán en el directorio del programa.
|
#10
|
|||
|
|||
no, lo que tengo en el directorio del programa son las dcu, los bpl no estan ahi.
que cuando marcas {link whith runtime packeges} a true y Release en lugar de debug te hace un exe pequeño y necesitas los bpl para que funcione en cualquier pc con las dcu no me funciona. |
#11
|
||||
|
||||
No sé si cambia con la versión de delphi que uses, o si es configurable, pero de todas formas, haz una simple búsqueda
|
#12
|
|||
|
|||
ok gracias por tu tiempo feliz 2016
|
#13
|
||||
|
||||
Entonces, ¿has encontrado ya las bpl?
|
#14
|
|||
|
|||
si lo encontre todo con el dependency walker copie todas las dependencias o mejor dicho los caminos a ellas a un tmemo y con un programa en delphi copi todo los ficheros de esos caminos bpl a una sola carpeta luego le puse el ejecutable dentro y funciona en cualquier pc
gracias |
#15
|
|||
|
|||
resumen
Finalmente quisiera resumir lo que necesitaba y la solución para futuros lectores.
No se si es la mejor solución debe haber otra mejor. El problema es hacer un instalador que tenga un ejecutable muy pequeño en mi caso menos de 1mb para distribuirlo a varios clientes y con un botón dentro de la aplicacion actualizar y descargar de un ftp solamente ese ejecutable pequeño no los demas dll y pbl. Para que salga pequeño el ejecutable en el Delphi XE6 en mi caso en Project/options/packages/runtime packages marcar a true la opción “Link whith runtime packages” esto saca del ejecutable todos los dpl usados y deja el exe muy pequeño, otro recurso que use y me redujo aún más el ejecutable es en el Porject Manager en la opción build Configuration escoger “Release”. Luego resta saber que bpl estoy usando con ese .exe para poder copiarlas a una car[eta y distribuirlas en el instalador. Eso lo logré con el programa recomendado por este foro creo llamado Dependency Walker le doy copiar a todos los caminos que me encuentra de los bpl usados y en un sencillo programita en Delphi que hice pego esos caminos en un tmemo y con un botón copio todas esas pbl a una misma carpeta que finalmente al copiarle dentro de la misma el ejecutable pequeño funciona perfectamente. Luego al actualizar solo el ejecutable sigue funcionando todo como antes. Espero le sirva a alguien . saludos Juank |
#16
|
|||
|
|||
No se si lo conoces o se ha nombrado,pero upx.sourceforge.net[] es una forma simple y rápida de reduir el ejecutable. A parte de lo que mencionaste, lógicamente.
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Como crear un ejecutable hijo desde mi ejecutable? | K04VH4CK | Internet | 7 | 14-08-2015 08:02:23 |
Pequeño reporteador | lafirma | Impresión | 0 | 10-07-2004 00:16:44 |
Hacer ejecutable mas pequeño | ElCherchu | Varios | 2 | 21-11-2003 16:08:22 |
|