Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Como puede poner mi aplicacion portable (https://www.clubdelphi.com/foros/showthread.php?t=91651)

silverblade 27-03-2017 00:26:25

Como puede poner mi aplicacion portable
 
Hola amigos!

Estoy usando c++ builder xe3 de embarcadero cuando desactivo el link with dynamic rtl y el package runtime para poner mi aplicacion portable(que me funcione en cualquier pc sin tener embarcadero instalado). Me da los siguientes errores:


[ilink32 Error] Error: Unable to open file 'DXSKININFO.RES'
[ilink32 Error] Error: Unable to open file 'CXLOOKANDFEELPAINTERS.RES'
[ilink32 Error] Error: Unable to open file 'CXCONTROLS.RES'
[ilink32 Error] Error: Unable to open file 'DXOFFICE11.RES'
[ilink32 Error] Error: Unable to open file 'CXEDIT.RES'
[ilink32 Error] Error: Unable to open file 'CXSCROLLCURSORS.RES'
[ilink32 Error] Error: Unable to open file 'CXGRID.RES'
[ilink32 Error] Error: Unable to open file 'CXFILTERDIALOG.DFM'
[ilink32 Error] Error: Unable to open file 'DXSKINSDEFAULTPAINTERS.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINBLACK.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINBLUE.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINCARAMEL.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINCOFFEE.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINDARKROOM.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINDARKSIDE.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINFOGGY.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINGLASSOCEANS.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINIMAGINARY.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINLILIAN.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINLIQUIDSKY.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINLONDONLIQUIDSKY.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINMCSKIN.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINMONEYTWINS.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINOFFICE2007BLACK.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINOFFICE2007BLUE.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINOFFICE2007GREEN.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINOFFICE2007PINK.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINOFFICE2007SILVER.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINOFFICE2010BLACK.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINOFFICE2010BLUE.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINOFFICE2010SILVER.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINPUMPKIN.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINSEVEN.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINSHARP.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINSILVER.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINSPRINGTIME.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINSTARDUST.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINSUMMER2008.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINVALENTINE.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINXMAS2008BLUE.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINBLUEPRINT.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINDEVEXPRESSDARKSTYLE.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINDEVEXPRESSSTYLE.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINHIGHCONTRAST.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINSEVENCLASSIC.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINSHARPPLUS.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINTHEASPHALTWORLD.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINVS2010.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINWHITEPRINT.RES'
[ilink32 Error] Error: Unable to open file 'CXFILTERCONTROLDIALOG.DFM'
[ilink32 Error] Error: Unable to open file 'CXIMAGE.DFM'
[ilink32 Error] Error: Unable to perform link
Failed
Elapsed time: 00:00:05.6

Que puedo hacer para resolver este problema? he buscado por la web y no he encontrado solucion al problema. Estos errores lo hace solo cuando uso los devexpress

AgustinOrtu 27-03-2017 13:24:39

Eso no tiene nada que ver con la portabilidad. En ningún caso se requiere que Delphi este instalado en la PC destino (que, el usuario debería comprar su licencia? :p)

Si hablas de carga de paquetes en tiempo de ejecución, por defecto te arma el ejecutable con todas las bibliotecas incluidas en el exe, no hace falta ninguna dependencia.

Si querés hacer carga dinámica de paquetes hay un post de Neftalí que lo explica

Neftali [Germán.Estévez] 27-03-2017 18:53:45

IMPORTANTE!!
Que conste que tu aplicación como está ahora, NO REQUIERE tener delphi instalado en otra máquina, simplemente que además de copiar el fichero EXE, debes copiar al mismo directorio otros ficheros BPL que tu aplicación necesitas (como si fueran DLL's).

Entiendo que cuando dices portable, te refieres a que tu aplicación se compile en un sólo fichero EXE, sin tener que copiar ningún fichero BPL extra.
Si quieres compilar tu aplicación para que TODO esté en un único fichero, debes hacer lo que has hecho tú (marcar el check en las opciones del proyecto).

Para resolver el error que comentas, empieza por añadir el directorio donde están estos ficheros al path de búsqueda del proyecto:

Cita:

Empezado por silverblade (Mensaje 514720)
[ilink32 Error] Error: Unable to open file 'DXSKININFO.RES'
[ilink32 Error] Error: Unable to open file 'CXLOOKANDFEELPAINTERS.RES'
[ilink32 Error] Error: Unable to open file 'CXCONTROLS.RES'
[ilink32 Error] Error: Unable to open file 'DXOFFICE11.RES'
[ilink32 Error] Error: Unable to open file 'CXEDIT.RES'
[ilink32 Error] Error: Unable to open file 'CXSCROLLCURSORS.RES'
[ilink32 Error] Error: Unable to open file 'CXGRID.RES'
[ilink32 Error] Error: Unable to open file 'CXFILTERDIALOG.DFM'
[ilink32 Error] Error: Unable to open file 'DXSKINSDEFAULTPAINTERS.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINBLACK.RES'
...

A ver qué te sale ahora...

AgustinOrtu 27-03-2017 19:15:20

En realidad ahora que lo pienso me exprese muy mal... para que la aplicacion sea portable, al menos lo que yo entiendo como portable cuando descargo aplicaciones por internet, es que no se requiere de ninguna biblioteca o configuracion presente en mi sistema para funcionar. Esto incluye el registro de Windows. Una aplicacion portable, al menos en Windows, copias el exe en donde te plazca y ya con eso basta para que funcione. No hay que configurar ni el registro de windows, ni registrar dlls, ni tocar las variables de entorno, ni instalar nada de terceros

Neftali [Germán.Estévez] 27-03-2017 21:03:15

Cita:

Empezado por AgustinOrtu (Mensaje 514768)
En realidad ahora que lo pienso me exprese muy mal... para que la aplicacion sea portable, al menos lo que yo entiendo como portable cuando descargo aplicaciones por internet, es que no se requiere de ninguna biblioteca o configuracion presente en mi sistema para funcionar. Esto incluye el registro de Windows. Una aplicacion portable, al menos en Windows, copias el exe en donde te plazca y ya con eso basta para que funcione. No hay que configurar ni el registro de windows, ni registrar dlls, ni tocar las variables de entorno, ni instalar nada de terceros

Estoy de acuerdo con Agustín.
Si la aplicación una vez generada, necesita de Bases de Datos, de registros de DLL's, de ActiveX,... no funcionará aunque generes un sólo fichero EXE.
Si no necesita nada de eso, porque no has usado nada "espacial" en la aplicación, al compilar "sin packages en runtime" generarás un único fichero que debería funcionar como "portable".

Snaked 04-04-2017 18:30:13

En C++ Builder Rad Studio recientes tienes la opcion PROJECT -> Deployment que te abre una ventanita y te indica todos los BPL y archivos de dependencias que necesita tu aplicacion para funcionar, (yo los busco a mano por los directorios de Embarcadero->Studio->Bin y Bpl que tiene la app y los copio todos junto con el ejecutable y luego con otro ordenador que no tenga Builder ni Delphi ni nada instalado (limpio de polvo y paja) pruebo la aplicacion y si falta algo te lo dice y remiendas el asunto copiando lo que vaya faltando.......no es una solucion elegante, lo sé pero es funcional

yacolca2008 04-05-2017 01:39:34

Usa Delphi desactivando el RTL y el Package RunTime
 
Cita:

Empezado por silverblade (Mensaje 514720)
Hola amigos!

Estoy usando c++ builder xe3 de embarcadero cuando desactivo el link with dynamic rtl y el package runtime para poner mi aplicacion portable(que me funcione en cualquier pc sin tener embarcadero instalado). Me da los siguientes errores:


[ilink32 Error] Error: Unable to open file 'DXSKININFO.RES'
[ilink32 Error] Error: Unable to open file 'CXLOOKANDFEELPAINTERS.RES'
[ilink32 Error] Error: Unable to open file 'CXCONTROLS.RES'
[ilink32 Error] Error: Unable to open file 'DXOFFICE11.RES'
[ilink32 Error] Error: Unable to open file 'CXEDIT.RES'
[ilink32 Error] Error: Unable to open file 'CXSCROLLCURSORS.RES'
[ilink32 Error] Error: Unable to open file 'CXGRID.RES'
[ilink32 Error] Error: Unable to open file 'CXFILTERDIALOG.DFM'
[ilink32 Error] Error: Unable to open file 'DXSKINSDEFAULTPAINTERS.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINBLACK.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINBLUE.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINCARAMEL.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINCOFFEE.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINDARKROOM.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINDARKSIDE.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINFOGGY.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINGLASSOCEANS.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINIMAGINARY.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINLILIAN.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINLIQUIDSKY.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINLONDONLIQUIDSKY.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINMCSKIN.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINMONEYTWINS.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINOFFICE2007BLACK.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINOFFICE2007BLUE.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINOFFICE2007GREEN.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINOFFICE2007PINK.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINOFFICE2007SILVER.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINOFFICE2010BLACK.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINOFFICE2010BLUE.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINOFFICE2010SILVER.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINPUMPKIN.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINSEVEN.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINSHARP.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINSILVER.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINSPRINGTIME.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINSTARDUST.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINSUMMER2008.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINVALENTINE.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINXMAS2008BLUE.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINBLUEPRINT.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINDEVEXPRESSDARKSTYLE.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINDEVEXPRESSSTYLE.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINHIGHCONTRAST.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINSEVENCLASSIC.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINSHARPPLUS.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINTHEASPHALTWORLD.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINVS2010.RES'
[ilink32 Error] Error: Unable to open file 'DXSKINWHITEPRINT.RES'
[ilink32 Error] Error: Unable to open file 'CXFILTERCONTROLDIALOG.DFM'
[ilink32 Error] Error: Unable to open file 'CXIMAGE.DFM'
[ilink32 Error] Error: Unable to perform link
Failed
Elapsed time: 00:00:05.6

Que puedo hacer para resolver este problema? he buscado por la web y no he encontrado solucion al problema. Estos errores lo hace solo cuando uso los devexpress

La solucion seria usar Delphi, ya que el C++Builder no he podido hacer un Exe que pueda funcionar solo en otra pc, lo hacia con c++builder 5 y c++buidel6 pero ahora en embarcadero ya no me a sido posible lograrlo, tuve que rehacer mi codigo para Delphi y ahi si lo logre.


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

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