我有一个WPF应用程序,在Windows 7操作系统上运行良好。但是同样的应用程序在某些Windows XP机器上崩溃。
它在一些Windows XP机器上正常运行,但在一些XP机器上无法启动。
错误 - 图像格式无法识别。
我知道这个问题已经被问过几次,但我的问题是我仍然无法弄清楚如何解决这个问题。
我应该更改用于应用程序的.ico
吗?
我有一个WPF应用程序,在Windows 7操作系统上运行良好。但是同样的应用程序在某些Windows XP机器上崩溃。
它在一些Windows XP机器上正常运行,但在一些XP机器上无法启动。
错误 - 图像格式无法识别。
我知道这个问题已经被问过几次,但我的问题是我仍然无法弄清楚如何解决这个问题。
我应该更改用于应用程序的.ico
吗?
今天早上我为这个问题烦恼了一会儿。结果发现错误只在颜色设置为16位的XP机器上发生,当我将其更改为32位时,问题神奇地消失了。
这适用于XP(包括嵌入式)SP3。
如果我没记错,Windows XP不支持大于48x48像素
的图标,这可能是崩溃的原因。.ico
文件肯定可以在两个系统上运行。
你可以创建支持多个尺寸的图标,因此如果将48x48和256x256添加到同一个文件中,您应该可以解决问题。还要确保在制作支持多个大小的图标时选择一款好的软件。我用过Greenfish Icon Editor,我认为它很好用。但有许多其他产品也可以使用。
一定要阅读ICON手册,Windows部分,其中包含有关要使用的图标尺寸和位深度的良好信息。
其他SO上的帖子支持我的观点:
this.Icon = new BitmapImage(new Uri("pack://application:,,,/UserInterface;component/Resources/Icons/ReportViewer.ico"));