java - para - ¿Es posible automatizar la creación de un paquete de instalación inno con hormiga?
java service wrapper ejemplo (2)
Otro buen truco al automatizar la construcción del instalador es utilizar la GetFileVersion
preprocesador GetFileVersion
(ISPP). De esta forma, no tendrá que duplicar los números de versión de sus archivos (binarios) en forma codificada (como en Tom''s settings.txt
): el compilador del instalador simplemente lo leerá de los recursos de la versión de los archivos de esa manera. P.ej:
#define AppName "My App"
#define SrcApp "MyApp.exe"
#define FileVerStr GetFileVersion(SrcApp)
#define StripBuild(str VerStr) Copy(VerStr, 1, RPos(".", VerStr)-1)
#define AppVerStr StripBuild(FileVerStr)
[Setup]
AppName={#AppName}
AppVersion={#AppVerStr}
AppVerName={#AppName} {#AppVerStr}
UninstallDisplayName={#AppName} {#AppVerStr}
VersionInfoVersion={#FileVerStr}
VersionInfoTextVersion={#AppVerStr}
OutputBaseFilename=MyApp-{#FileVerStr}-setup
Además, puede reenviar símbolos al compilador a través del modificador de línea de comandos /d
, por ejemplo:
iscc.exe /dSpecialEdition ...
y luego ifdef
en ifdef
s para crear diferentes tipos de instalador (a continuación se muestra un ejemplo estúpido):
[Registry]
#ifdef SpecialEdition
Root: HKLM; Subkey: Software/MyCompany/MyApp; ValueName: SpecialEdition; ValueType: dword; ValueData: 1 ...
#endif
Estoy creando una aplicación Eclipse RCP.
Estoy siguiendo el consejo de Joel en el siguiente artículo "Daily Builds es tu amigo":
http://www.joelonsoftware.com/articles/fog0000000023.html
Entonces, escribí un buen script de compilación que crea un producto Eclipse RCP y que ejecuta pruebas unitarias en el código. Todos los resultados se distribuyen a la lista del desarrollador (después de algunas quejas). Ahora mi siguiente paso, quiero que cree el paquete de instalación que normalmente creo manualmente usando el compilador de configuración inno.
La pregunta es, ¿cómo me las arreglaría para crear este paquete automáticamente? Supongo que puedo generar el archivo de configuración inno automáticamente desde ant, y luego invocar el compilador desde la línea de comandos, pero no sé si esto es posible.
¿Algún consejo para esta tarea? ¿Tal vez alguna otra aplicación de configuración que se pueda usar de hormiga?
Seguro que es fácil, el proyecto Inno es un archivo de texto sin formato, por lo que incluso puedes editar fácilmente la secuencia de comandos setupper, sin embargo, recomendaría crear un pequeño archivo include por tu script. Puede tener almacenar allí "variables" como la versión + número de compilación que muestra al inicio de la configuración.
ponga esta línea en su setupper:
#include "settings.txt"
y haz que settings.txt tenga algo como esto
#define myver=xxx.xxx
#define tags
ahora no es necesario que toque el código de configuración real del script de compilación.
a continuación hay un fragmento de mi script de compilación para compilar el configurador. necesita ejecutar el archivo por lotes de la hormiga de esta manera:
<exec dir="." executable="cmd" os="Windows NT">
<arg line="/c build.bat"/>
</exec>
lote de muestra build.bat:
set isxpath="c:/program files/inno setup 5"
set isx=%isxpath%/iscc.exe
set iwz=myproj.iss
if not exist %isx% set errormsg=%isx% not found && goto errorhandler
%isx% "%iwz%" /O"%buildpath%" /F"MySetupper.exe" >>%logfile%
goto :eof