online python windows-vista embed icons py2exe

python - online - ¿Incrustar ícono en.exe con py2exe, visible en Vista?



py2exe online (4)

Vista usa iconos de alta resolución de 256x256 píxeles, se almacenan usando compresión PNG . El problema es si simplemente hace que el icono y lo guarde en formato XP ICO estándar, el archivo resultante será de 400Kb en el disco. La solución es comprimir las imágenes. El esquema de compresión utilizado es PNG (Portable Network Graphic) porque tiene una buena relación sin pérdidas y admite el canal alfa.

Y use

png2ico myicon.ico logo16x16.png logo32x32.png logo255x255.png

Crea un archivo ICO de 1 o más archivos PNG y maneja múltiples tamaños, etc. Y supongo que XP no tendría ningún problema con eso.

He intentado incrustar un icono (.ico) en mi .exe "compilado" con py2exe.

Py2Exe tiene una forma de insertar un ícono:

windows=[{ ''script'':''MyScript.py'', ''icon_resources'':[(1,''MyIcon.ico'')] }]

Y eso es lo que estoy usando. El ícono aparece bien en Windows XP o más bajo, pero no se muestra en absoluto en Vista. Supongo que esto se debe al nuevo formato de icono de Vista, que puede tener formato PNG, hasta 256x256 píxeles.

Entonces, ¿cómo puedo obtener py2exe para incrustarlos en mi ejecutable, sin romper los iconos en Windows XP?

Estoy contento de hacerlo con una utilidad externa en lugar de py2exe. He intentado utilizar esta utilidad de línea de comandos para incrustarla, pero siempre corrompe mi exe y trunca su tamaño por algún motivo.


Parece que el orden de los tamaños de los iconos es la clave, como dijo Helmut. Para invertir las páginas (las más grandes primero) resuelve el problema en Windows 7 para ''include_resources'' (usando Py2exe 0.6.9).


Estaba teniendo problemas para insertar el recurso de icono con py2exe en Windows7 usando un archivo .ico que contiene una imagen de 32x32 píxeles. Estaba usando el mismo método que la pregunta original.

Una vez compilado, el ícono en el exe desaparece. En la investigación, el ícono se agrega al índice 0, según la herramienta Resource Hacker , pero si uso la misma herramienta para reemplazar el ícono, se agrega al índice 1. Una vez en el índice 1, el ícono aparece mágicamente en el explorador contra el exe nuevamente.

Si está desesperado, podría usar Resource Hacker para enmendar el exe post-build y puede ser escrito a través de la interfaz de línea de comando, pero probé el método explicado anteriormente y logré que funcionara después de revertir los archivos png como tal.

png2ico.exe myico.ico myico248x248.png myico48x48.png myico32x32.png myico16x16.png

Por cierto, al agregar múltiples íconos al archivo ico usted estará poblando el recurso en el ícono índice 1 de todos modos, en este caso myico248x248.png.


El enlace al Greenfish Iceon Editor Pro está roto. Escaneé la red y encontré Download IcoFX. Usé el programa IcoFX en mi archivo .exe y pude ver que efectivamente contenía mi ícono.

Utilizando el menú Imagen-> Crear iconos de Windows desde la imagen, y luego aceptar las opciones, obtuve un nuevo archivo .ico que funcionaba tanto en win7 como en win xp.

Antes, mi único archivo 48x48.ico no aparecía como un ícono para el programa.