Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Poner package en una carpeta cualquiera (https://www.clubdelphi.com/foros/showthread.php?t=72299)

LoPiTaL 09-02-2011 15:18:40

Poner package en una carpeta cualquiera
 
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

Cita:

Empezado por LoPiTaL (Mensaje 390441)
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

Cita:

Empezado por LoPiTaL (Mensaje 390441)
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.

Cita:

Empezado por LoPiTaL (Mensaje 390441)
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]

Cita:

Empezado por luisgutierrezb (Mensaje 390456)
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

Cita:

Empezado por Neftali (Mensaje 390535)
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 al sistema.;)
Saludos...:)

Neftali [Germán.Estévez] 10-02-2011 16:04:53

Cita:

Empezado por LoPiTaL (Mensaje 390561)
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.


La franja horaria es GMT +2. Ahora son las 07:18:59.

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