20-06-2009, 01:53 AM
Hola a todos.
Conocí chronojump a través un amigo en el concurso universitario de software libre en el que participé con LongoMatch[1], un programa para vídeo análisis deportivo. Me recomendó ponerme en contacto con Xavi porque ambos manteníamos un proyecto de Software Libre relacionado con el deporte y además porque ambos proyectos usan Mono.
Después de hablar con él me he pasado por aquí para ver cómo funcionaba el proyecto y tenía una pequña sugerencia para evitar la instalación de Mono, haciendo así la instalación más fácil y rápida y generando un instaldor de mucho menor tamaño.
Lo que hago en LongoMatch es usar la aplicación 'mkbundle2', que viene con el instalador de Mono. Esta aplicación genera a partir del ejecutable que se obtiene con el compilador de mono otro ejecutable con todas las dependencias de Mono 'empotradas', pudiendo ejecutar el programa sin instalar Mono. Con ese ejecutable y las librerías mono.dll y MonoPosixHelper.dll puedes lanzar el programa sin necesidad de nada más (en cuanto a las dependencias con Mono se refiere). Os vendría muy bien ya que de esta forma reducirías enormemente el tamaño del instalador.
Este el pequeño script que uso desde mingw/msys:
Este ejecutable se puede lanzar con un doble click sin necesidad de usar ningún script para lanzarlo.
Un saludo
[1]http://www.ylatuya.es
Conocí chronojump a través un amigo en el concurso universitario de software libre en el que participé con LongoMatch[1], un programa para vídeo análisis deportivo. Me recomendó ponerme en contacto con Xavi porque ambos manteníamos un proyecto de Software Libre relacionado con el deporte y además porque ambos proyectos usan Mono.
Después de hablar con él me he pasado por aquí para ver cómo funcionaba el proyecto y tenía una pequña sugerencia para evitar la instalación de Mono, haciendo así la instalación más fácil y rápida y generando un instaldor de mucho menor tamaño.
Lo que hago en LongoMatch es usar la aplicación 'mkbundle2', que viene con el instalador de Mono. Esta aplicación genera a partir del ejecutable que se obtiene con el compilador de mono otro ejecutable con todas las dependencias de Mono 'empotradas', pudiendo ejecutar el programa sin instalar Mono. Con ese ejecutable y las librerías mono.dll y MonoPosixHelper.dll puedes lanzar el programa sin necesidad de nada más (en cuanto a las dependencias con Mono se refiere). Os vendría muy bien ya que de esta forma reducirías enormemente el tamaño del instalador.
Este el pequeño script que uso desde mingw/msys:
Código:
# Añadimos al GAC los ensamblados externos
/e/mono/bin/gacutil -i /path/CesarPlayer.dll
/e/mono/bin/gacutil -i /path/Db4objects.Db4o.dll
# Libtool debe encontrar el paquete mono
export PKG_CONFIG_PATH=/e/mono/lib/pkgconfig/
#Generamos el ejecutable
/e/mono/bin/mkbundle2 ./LongoMatch.exe --deps -o win32/bin/LongoMatch.exe
Este ejecutable se puede lanzar con un doble click sin necesidad de usar ningún script para lanzarlo.
Un saludo
[1]http://www.ylatuya.es