PDA

Ver la Versión Completa : Poner package en una carpeta cualquiera


LoPiTaL
09-02-2011, 15:18:40
Hola a todos! Tengo una aplicación creada con "Build with runtime packages", y, por tanto, estoy obligado a distribuir todos los packages junto con mi aplicación, y colocarlos o en la carpeta windows32 o en la carpeta en la que está el ejecutable.
Mi problema es que quiero ponerlos en una subcarpeta dentro de la carpeta donde instalo mi aplicación (p. ej. Archivos de Programa\Mi Programa\bin), mientras que el ejecutable estaría en la carpeta superior (siguiendo el ejemplo, Archivos de Programa\Mi Programa).
¿Cómo puedo hacer para que me busque los packages en esta otra carpeta?

Gracias de antemano,
Un saludo,
LoPiTaL

rgstuamigo
09-02-2011, 15:40:26
Sino me estoy equivocando en el menú Project>Options> Directories/Conditionals puedes direccionar los directorios o carpetas donde el compilador generará los diferentes archivos. Revísalo.. no sé si es lo que estás buscando...:rolleyes::D
Saludos...:)

luisgutierrezb
09-02-2011, 17:14:40
Tal vez si añades la ruta al path, te los reconozca en el directorio que tu quieres

LoPiTaL
09-02-2011, 19:02:09
Gracias a los dos por las respuestas. Os comento:

@rgstuamigo:

No quiero que Delphi me detecte los bpls. Delphi lo hace perfectamente, y si ejecuto mi aplicación en mi ordenador funciona bien. El problema es cuando tengo que llevarla a otro ordenador (donde probablemente NO esté Delphi instalado), que me fuerza a tenerlos o en Windows32 o en la misma carpeta que el ejecutable.

@luisgutierrezb

No he llegado a entenderte... ¿A qué path te estás refiriendo?

Un saludo,
LoPiTaL

Chris
09-02-2011, 19:10:37
Tengo una aplicación creada con "Build with runtime packages"...
No sería mas bien: Una aplicación creada SIN "Build with Runtime Packages"... :p

LoPiTaL
09-02-2011, 22:47:37
jejeje desde el punto de vista de la lógica sí, es sin los paquetes. Desde el punto de vista de los hacedores de Delphi, es con esa opción marcada :D

Neftali [Germán.Estévez]
10-02-2011, 10:37:27
Tengo una aplicación creada con "Build with runtime packages", y, por tanto, estoy obligado a distribuir todos los packages junto con mi aplicación, y colocarlos o en la carpeta windows32 o en la carpeta en la que está el ejecutable.


Hasta ahí correcto y perfecto.


Mi problema es que quiero ponerlos en una subcarpeta dentro de la carpeta donde instalo mi aplicación
¿Cómo puedo hacer para que me busque los packages en esta otra carpeta?


Una pregunta. ¿Hay alguna razón lógica para hacer esto? Lo digo porque no acabo de entender el porqué.:confused:
Los packahes dinámicos puedes cargarlos desde donde quieras, los estáticos que yo sepa, sólo de los 2 lugares comentados.

Gracias de antemano,
Un saludo,
LoPiTaL[/quote]

Tal vez si añades la ruta al path, te los reconozca en el directorio que tu quieres

No se si funcionaría, pero no me parece una opción muy segura, ya que en ese caso el funcionamiento de tu aplicaciópn dependerá que que alguien modifique el PATH o incluso de que cambie el orden de los directorios.
O imagina que por alguna razón otro programa que se instala copia N packages al directiorio de windows. En ese momento esos pasarían a tener preferenencia sobre los tuyos. :(

LoPiTaL
10-02-2011, 14:05:52
Una pregunta. ¿Hay alguna razón lógica para hacer esto? Lo digo porque no acabo de entender el porqué.:confused:


Sencillamente me gustaría hacerlo así por dos motivos: el primero por estética, no quiero que esté mi ejecutable rodeado de 500 packages, pudiendo ocultarlos en otra carpeta. El segundo porque no quería copiar nada en el directorio de Windows (este tan sólo por no "modificar" nada del sistema operativo).

Tal vez lo que voy a hacer, si no hay alternativa, es meter también mi aplicación en la carpeta "bin" con todos los packages, y en la carpeta superior meter un launcher que se encargue de llamar a la aplicación principal.

Un saludo y gracias por la ayuda,
LoPiTaL

rgstuamigo
10-02-2011, 14:17:01
Pues entonces... la única :rolleyes: alternativa que veo es la que ha mencionado luisgutierrezb, es decir añadir una variable de entorno (http://support.microsoft.com/kb/310519/es) al sistema.;)
Saludos...:)

Neftali [Germán.Estévez]
10-02-2011, 16:04:53
Tal vez lo que voy a hacer, si no hay alternativa, es meter también mi aplicación en la carpeta "bin" con todos los packages, y en la carpeta superior meter un launcher que se encargue de llamar a la aplicación principal.

Nosotros utilizamos esta opción. Ademas tiene otras ventajas.
Junto al ejecutable (Lanzadera) hay un pequeño fichero que indica en qué diretorio está el programa real.
Cuando necesitamos realizar una actualización, preparamos el nuevo directorio y cuando todo está listo, modificamos ese pequeño fichero para que apunte al nuevo directorio.

Los usuarios no ven estos directorios, de forma que para ellos es transparente. Si por alguna cosa necesitamos "volver" a la versión anterior (por algun problema) basta con redireccionar a la anterior.

A partir del momento en que los usuarios "entran" ya van hacia la nueva versión. Si no es urgente, dejamos que pase el tiempo y todos van accediendo a la nueva; Si nos interesa que el cambio sea inmediato, desde la misma aplicación les aparece un mensaje de que "hay nueva versión" y que deben reiniciar la aplicación para acceder a la nueva.