2012-01-23 7 views
13

Tenemos un proyecto C# WPF (.NET 4.0, Visual Studio 2010). Ha sido probado en Windows XP y Windows 7 y parece funcionar bien, pero ahora he recibido informes de dos clientes en el campo (ambos ubicados en España por algún motivo) que no pueden iniciar el software."El formato de imagen no se reconoce", según el monitor

Al observar el archivo de registro veo que reciben la excepción "El formato de imagen no es reconocido" (Causado por: Excepción de HRESULT: 0x88982F07).

He buscado en Google el error y he encontrado que esto parece ser que WPF no puede cargar el icono Vista PNG en Windows XP. Pero esos informes tienen un par de años, seguramente Microsoft ya lo resolvió (?), Y en mi caso funciona bien en la mayoría de las instalaciones de XP. Realmente no quiero limitar la apariencia del icono en Windows más reciente.

El uso más común de nuestra aplicación es en computadoras portátiles, y uno de los usuarios informó que cuando conectó su computadora portátil a un monitor externo el problema se resolvió. Y cuando le pedí al otro que probara lo mismo, obtuvo el mismo resultado.

Así que mis preguntas son: ¿Sabes si este problema ha sido resuelto por Microsoft? ¿Sabes por qué solo ocurre en algunas instancias de Windows XP y cómo se relaciona con el monitor? Y lo más importante, ¿sabes lo que podría hacer para que nuestra aplicación sea más sólida sin cambiar el ícono?

+6

http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/9e723d51-0e26-4609-8fe1-5e0edcf7385b/ parece indicar que va a resolver en sí, si no comprimes el ícono. –

+0

Gracias por el consejo, voy a probar eso. He creado el ícono sin compresión, el ícono se vuelve 5 veces más grande, pero eso no es un problema en estos días (a menos que haya otros inconvenientes al tener un ícono sin comprimir). – Christoffer

+0

Sin desventajas además del tamaño que yo sepa. –

Respuesta

2

Tuve el mismo error hoy, de la nada, y solo en mi máquina de desarrollo. La implementación de WPF parece tener errores.

Si entiendo esto (article) a la derecha, puede ocurrir dondequiera que se lean los archivos ICO. En mi caso fue al configurar un icono para la ventana principal de la aplicación en XAML:

<Window x:Class="MyApp.MainWindow" Icon="Dashboard.ico" > 

El código anterior desapareció de pronto, pero el uso de un archivo PNG resuelto el problema:

<Window x:Class="MyApp.MainWindow" Icon="Dashboard.png" > 
0

que he tenido un poco de diversión con este problema esta mañana. Resultó que el error estaba ocurriendo solo en las máquinas con XP, donde las configuraciones de color estaban configuradas en 16 bits, y cuando lo cambié a 32 bits, el problema desapareció mágicamente.

Esto se aplica a XP (incluido Embedded) SP3.

0

este problema me ha tenido despegando el pelo durante bastante tiempo, y he pasado bastante tiempo intentando descubrir qué estaba pasando, así que compartiré mis conclusiones ya que podría ayudar a otra persona (posiblemente incluso mí en el futuro):

https://social.msdn.microsoft.com/Forums/vstudio/en-US/9e723d51-0e26-4609-8fe1-5e0edcf7385b/setting-windowicon-to-vista-256x256-png-icon-causes-a-fileformatexception?forum=wpf parece indicar que' Se resolverá solo si no comprimes el ícono. - Joachim IsakssonEne 23 de '12 a las 12:44

así que busqué en IcoFX (que utilizo para mi edición de iconos) y por supuesto:

options window in icoFx

Simplemente desmarqué esto y guardé mi .ico nuevamente (¡el tamaño pasó de 30 Kb a 286 Kb en el proceso!) Y ¡voilá!

problema resuelto

Cuestiones relacionadas