WPF 程序在 Windows XP 下报错:The image format is unrecognized.

最近做的一个 WPF 程序,在 Windows 7 或以上版本的系统中,测试都很正常,在 Windows XP 下运行时一开始就报了个错误:

{
    "ClassName" : "System.Windows.Markup.XamlParseException",
    "Message" : "The image format is unrecognized.",
    "Data" : {
        "System.Object" : null
    },
    "InnerException" : {
        "ClassName" : "System.Runtime.InteropServices.COMException",
        "Message" : "Exception from HRESULT: 0x88982F07",
        "Data" : null

以下省略若干行异常信息………

唔… 百度了一下,发现原来是程序图标的格式问题,好像自 Windows Vista 以后,因为系统中图标可以被放大到很大(最大是256x256?),高清图标带来的肯定是体积的增大哈,为了减小图标的体积,好像推出了一个带压缩参数的图标格式,可以压缩高清图标的大小?

好吧,啰里啰唆了半天,解决方法就是找个图标设计工具,修改一下图标,把那个压缩参数去掉就好了~

比如我用的是一个叫 IconWorkshop 的软件,图标的右上角有这样一个小图标(),就是被压缩了。。。

然后右键去掉 PNG 压缩图像格式 的选项,或者去掉工具栏上的那个按钮的选中状态,就好了。

不同软件的设置方法可能会很不相同,但应该都有这个选项,自己找一下吧~

参考来源:http://torque.gig8.com/2009/01/image_format_is_unrecognized_w.html

时间: 2024-10-05 04:09:16

WPF 程序在 Windows XP 下报错:The image format is unrecognized.的相关文章

WPF程序在Windows 7下应用Windows 8主题

这篇博客介绍如何在Windows 7下应用Windows 8的主题. 首先我们先看一个很常见的场景,同样的WPF程序(样式未重写)在不同的操作系统上展示会有些不同.这是为什么呢?WPF程序启动时会加载与操作系统对应的主题.下面将列出常见的OS主题与WPF主题的关系. 针对不同操作系统的主题,WPF程序会加载不同的主题assembly.这样就形成了同样的XAML代码在不同的OS中展示效果. 回到这篇博客的主题,为Windows 7下的WPF程序应用Windows 8主题.通过上面的表格,可以知道,

VS2013编写的C#程序,在xp下会报错说“不是合法的win32程序”。

VS2013编写的程序,在xp下会报错说“不是合法的win32程序”. 这个用C++编写的程序可以经过设置后在XP下运行,主要的“平台工具集”里修改就可以.方法见: http://blog.csdn.net/civilman/article/details/40109685 但是,用C#编写的程序,项目属性里是没有“平台工具集”的选项的,运行时会报错说不是正常的win32程序. DotNet版本为2.0,在xp下已经安装dotnet20. 请问,有谁知道如何让VS2013编写的C#程序在XP下运

Android程序能够构建和运行,但是报以下报错,为什么?

安卓程序写完之后能够构建和运行,但是会报以下的错误.不知道原因为何?求大神解答. 网上说的是混淆编译的原因,不过程序没有开启混淆编译. Error:warning: Ignoring InnerClasses attribute for an anonymous inner class Error:(com.alipay.android.phone.mrpc.core.c) that doesn't come with an Error:associated EnclosingMethod at

将windows上面的项目拷贝到Linux环境下报错不能够找到对应的表com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'puyang.ServiceType' doesn't exist

将一模一样的项目从win迁移到到linux上报错: 一开始还是以为是linux不能识别hql语句,查找资料发现是因为Liunx服务器上mysql是区分大小写的,而本地是不区分的如:代码是这样写的 @Entity@Table(name = "users") 数据库建的表名称是Users,那么就会出现以上异常. 将windows上面的项目拷贝到Linux环境下报错不能够找到对应的表com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorExcepti

在Windows XP下整合Apache+Tomcat+PHP

本篇文章主要是从安装JK插件方面来对整合Apache+Tomcat进行讲解. 以前在本机上做项目测试的时候,都是单独使用Tomcat,而没有像在服务器上一样用Apache+Tomcat这样的配置.但是整合Apache+Tomcat的好处人尽皆知.为什么我们不来试一试呢? 其实刚开始的时候并不是为了整合Apache和Tomcat而整合的,因为之前在我的PC机上根本就没 有装Apache,一个机缘--公司需要帮别人维护一个用PHP写的项目,于是为了测试PHP,所以我在PC机上装了个Apache,并安

DELL 755行业用机安装windows 2003系统报错 0x0000007b

DELL 755行业用机用光盘安装windows 2003系统报错:0x0000007b 先放解决办法:将ACHI模式调整为ATA模式即可解决问题: 经过查阅网上资料,最终锁定如下帖子中说的有点道理, http://www.elecfans.com/jiadian/diannao/20121016292687.html [第三参考]安装widows XP时蓝屏代码0X0000007B的问题的解决方案用户在重新安装Windows XP的过程中,可能会出现安装过程中蓝屏,代码是0X0000007B的

WPF加载Winform窗体时 报错:子控件不能为顶级窗体

一.wpf项目中引用WindowsFormsIntegration和System.Windows.Forms 二.Form1.Designer.cs 的 partial class Form1 设置为:public partial class Form1 三.代码如下: XXXX.Form1 Zhuwindow = new XXXX.Form1(); Zhuwindow.TopLevel = false; Zhuwindow.FormBorderStyle = System.Windows.Fo

OpenSSL win 下报错 OPENSSL_Uplink(58D46000,08): no OPENSSL_Applink

python 中使用 M2Crypto 想读写文件时总是报: OPENSSL_Uplink(58D46000,08): no OPENSSL_Applink windows 平台下使用 openssl 时不能直接操作与文件 IO 有关的函数. 因为 ms/uplink.c 会动态从当前 exe 中获取 ms/applink.c 的函数表,逻辑是 void OPENSSL_Uplink (volatile void **table, int index){ HANDLE h = GetModule

Windows XP下安装和配置Apache2.2.22服务器+PHP5+Mysql5

原文:http://www.chinaz.com/web/2012/0516/252021.shtml 随着PHP网站的流行,国内越来越多的站长使用php开发网站或者使用相关的php开源网站(例如:DeDeCMS.phpWind.康盛的Discuz!.wordpress等一些目前比较流行的开源网站),对于一些刚开始接触PHP语言或者刚开始建立自己站点的人来说,在本地测试php网站无疑是件非常重要的事情,因为这样可以在本地做若干的调试,而不用去担心网络问题以及运营商问题. 接下来,笔者将Windo