En primer lugar, esto no es un duplicado de la cuestión muy común de hacer un EXE de las clases de Java. No necesito hacer eso.Reemplazar el icono en Windows * .exe del código Java independiente de la plataforma de fuente abierta
Para resolver NetBeans RFE #64612 sin manual steps Necesito un (6+) biblioteca de Java que puede tomar una ya existente de archivos de Windows *.exe
y reemplazar su icono con un sustituto en un formato común. El ejecutable, que es genérico y preconstruido (distribuido en forma binaria), ya sabe cómo cargar un archivo de configuración específico de la aplicación y luego inicia el JRE con varios JAR de aplicación, etc .; el único problema es que tiene un ícono genérico, y me gustaría reemplazar ese ícono como parte de una compilación pura de Java con un ícono específico de la aplicación, por lo que se ve más bonito.
La biblioteca debe estar disponible bajo una licencia de código abierto no viral; multiplataforma (debe ejecutarse en Windows, Linux, Mac, Solaris) por lo que no se puede bifurcar alguna herramienta de ayuda específica del sistema operativo; y debe aceptar la entrada PNG, aunque el EXE debe funcionar en XP para que according to Wikipedia incruste el formato BMP. En un nivel alto, suponiendo hormiga como una herramienta de construcción, me gustaría algo como esto:
<replaceicon from="app.exe" to="hello.exe" icon="hello.png"/>
¿alguien sabe si existe una herramienta de búsqueda de estas especificaciones ya? De varias búsquedas en la web, encontré Launch4J, pero esto parece simplemente hornear windres para el trabajo real, por lo tanto, no es trivialmente portátil. Encontré JSmooth que parece más prometedor, parece incluir código Java para manejar el códec ICO y manipular archivos PE, pero es GPL. WinRun4J busca utilizar el código nativo para la manipulación de iconos, aunque tuve dificultades para seguir sus orígenes. Jimi supuestamente maneja el formato ICO (para el caso, el estándar javax.imageio
parece también) pero supongo que no tiene ninguna facilidad para actualizar los recursos PE.
Pregunta relacionada: http://stackoverflow.com/questions/1614772/how-to-change-jframe-icon –
Una pregunta relacionada apunta a http://java.net/projects/pe-file-reader pero esta es GPL y parece solo leer, no escribir, archivos PE. –