Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generate windows setups from docker inno setup image #172

Closed
2 of 5 tasks
lrodriguez03 opened this issue Mar 18, 2022 · 9 comments
Closed
2 of 5 tasks

Generate windows setups from docker inno setup image #172

lrodriguez03 opened this issue Mar 18, 2022 · 9 comments
Labels
enhancement New feature or request feedback Waiting for feedback fixed Issue fixed and release pending

Comments

@lrodriguez03
Copy link

lrodriguez03 commented Mar 18, 2022

I'm submitting a…

  • bug report
  • feature request
  • other

Short description of the issue/suggestion:
Hola, al momento de generar los ejecutables para windows desde mac (o linux), se arroja el siguiente warning:

Captura de Pantalla 2022-03-18 a la(s) 09 13 56

Pero que pasaría si pudiera correr iscc desde un contenedor de docker linux con inno setup sobre wine
https://gist.github.com/amake/3e7194e5e61d0e1850bba144797fd797

Teniendo acceso a iscc desde el bash ¿Habría alguna forma de evitar que se omita la creación del setup (.exe)?

Muchas gracias.

Steps to reproduce the issue/enhancement:

  1. [First Step]
  2. [Second Step]
  3. [Other Steps...]

What is the expected behavior?

What is the current behavior?

Do you have outputs, screenshots, demos or samples which demonstrate the problem or enhancement?

What is the motivation / use case for changing the behavior?

Please tell us about your environment:

  • JavaPackager version: 1.6.5
  • OS version: 10.15.7
  • JDK version: 1.8.0_241
  • Build tool:
    • Maven
    • Gradle

Other information (e.g. related issues, suggestions how to fix, links for us to have context)

@fvarrui
Copy link
Owner

fvarrui commented Mar 18, 2022

Hola @lrodriguez03!
Interesante propuesta. La verdad es que no me lo había planteado, pero según el enlace que adjuntas creo que sería viable. Tal vez se pueda llevar esta propuesta a otro nivel, e incluso generar un DMG desde Windows? (por ejemplo) Lo estudiaré, gracias!!


Interesting proposal. I hadn't considered it, but according to the link you attach I think it would be possible. Perhaps this proposal can be taken to another level, and even generate a DMG from Windows? (for example) I will study it, thanks!!

@fvarrui
Copy link
Owner

fvarrui commented Mar 18, 2022

Por cierto, por si te es de utilidad, también es posible generar todos los artefactos de instalación para las múltiples plataformas mediante GitHub Actions o Circle CI


In case it's useful to you, it's also possible to generate all the installation artifacts for the multiple platforms using GitHub Actions or Circle CI

@fvarrui
Copy link
Owner

fvarrui commented Mar 22, 2022

Ahora mismo la generación del Setup obliga a que el sistema operativo sea Windows. Se podría añadir la opción booleana forceSetup para que NO omita la generación del Setup en caso de que el empaquetado se ejecute desde Linux o MacOS. Qué crees?


Right now the generation of the Setup forces the OS to be Windows. But forceSetup boolean option could be added to NOT skip the Setup generation if the package is run from Linux or MacOS. What do you think?

@lrodriguez03
Copy link
Author

Buenas tardes, actualmente usando la imagen https://hub.docker.com/r/ikus060/docker-wine-maven logramos generar el instalador de windows desde mac/linux. Como la imagen esta montada con wine, javapackager considera que esta corriendo en windows y genera los setups correctamente.
Fue necesario instalar inno setup y agregarlo al WINEPATH desde el Dockerfile. Y además correr el mvn clean package con bash para que funcione.

# Install Inno Setup binaries
RUN curl -SL "https://files.jrsoftware.org/is/6/innosetup-6.1.2.exe" -o is.exe \
    && wine-x11-run wine is.exe /SP- /VERYSILENT /ALLUSERS /SUPPRESSMSGBOXES \
    && rm is.exe

ENV WINEPATH="c:\Program Files\Inno Setup 6"

CMD ["bash", "mvn", "clean", "package"]

En el caso del instalador para mac, seguimos investigando como poder crearlo. El paquete genisoimage puede llegar a servir.
https://linux.die.net/man/1/genisoimage

Si es posible agregar una propiedad para forzar la creación del dmg sería muy util para poder probar esto último. Muchas gracias

@fvarrui
Copy link
Owner

fvarrui commented Mar 23, 2022

Hola @lrodriguez03! Creo que mejor sería añadir una opción más general: forceInstaller, de modo que cuando sea true ignore la comprobación del sistema operativo a la hora de generar los instaladores.

@lrodriguez03
Copy link
Author

Hola!. Si eso creemos que puede funcionar, ¿podes agrega esta opción? y lo probamos.

@fvarrui
Copy link
Owner

fvarrui commented Mar 23, 2022

Hola @lrodriguez03!
He publicado los cambios con la opción forceInstaller en el branch issue-172 como versión 1.6.6-SNAPSHOT de JavaPackager. Debes instalar el plugin de forma manual en tu repo Maven local. Está explicado en el README del proyecto.

Pruébalo y me cuentas, por favor!
Un saludo

@fvarrui
Copy link
Owner

fvarrui commented Mar 23, 2022

No soy experto en el asunto, pero ... ¿no se podría realizar todo el proceso de empaquetado con Maven + JavaPackager desde el mismo contenedor, y no sólo la ejecución de Inno Setup?

@fvarrui fvarrui added enhancement New feature or request feedback Waiting for feedback fixed Issue fixed and release pending labels Mar 23, 2022
@fvarrui
Copy link
Owner

fvarrui commented Apr 5, 2022

JavaPackager v1.6.6 released to Maven Central

@fvarrui fvarrui closed this as completed Apr 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request feedback Waiting for feedback fixed Issue fixed and release pending
Projects
None yet
Development

No branches or pull requests

2 participants