Javafx 2 inno setup或javafx packager更改我的桌面图标、锯齿状边缘

Javafx 2 inno setup或javafx packager更改我的桌面图标、锯齿状边缘,javafx-2,inno-setup,Javafx 2,Inno Setup,因此,我将Innosetup与javafxpackager一起使用,我在iss文件中用“SetupIconFile”指定一个桌面图标(.ico) 安装应用程序(Win7)后,桌面上的图标有锯齿状边缘。起初,我认为我的图标有问题,但如果我右键单击图标并将图标更改为我在iss文件中指定的文件,它的边缘会非常干净 所以我猜要么是Inno安装,要么是javafxpackager对我的图标做了些什么(顺便说一句,尝试了各种大小和多层ico文件)。我猜可能性更大,这与Inno设置有关,因为我在iss中指定了

因此,我将Innosetup与javafxpackager一起使用,我在iss文件中用“SetupIconFile”指定一个桌面图标(.ico)

安装应用程序(Win7)后,桌面上的图标有锯齿状边缘。起初,我认为我的图标有问题,但如果我右键单击图标并将图标更改为我在iss文件中指定的文件,它的边缘会非常干净

所以我猜要么是Inno安装,要么是javafxpackager对我的图标做了些什么(顺便说一句,尝试了各种大小和多层ico文件)。我猜可能性更大,这与Inno设置有关,因为我在iss中指定了图标

有什么想法吗

编辑:我说我用“SetupIconFile”指定图标,但我没有在我的iss文件中正确查找,实际上我是这样做的:

[Files]
Source: "MyApp\MyApp.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "MyApp\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs

[Icons]
Name: "{group}\MyApp"; Filename: "{app}\MyApp.exe"; IconFilename: "{app}\MyApp.ico"; Check: returnTrue()
Name: "{userdesktop}\MyApp"; Filename: "{app}\MyApp.exe";  IconFilename: "{app}\MyApp.ico"; Check: returnTrue()

添加到要安装(复制)的安装程序中的图标文件就是要安装(复制)的图标。Inno安装程序无法在编译过程中“转换”文件(除非您正在谈论在Setup.EXE文件中嵌入图标)。在这种情况下,您应该检查是否添加了W7(至256x256px)使用的所有分辨率。图标正常,因为当我手动将已安装快捷方式的图标更改为我在innosetup文件中指向的相同图标时,它会变为正常。我还使用一个从16x16一直到1024x1024的多尺寸ico进行了测试
SetupIconFile
仅影响安装程序本身使用的图标。安装桌面快捷方式时,它将使用
[图标]
部分中指定的
IconFilename
(必须通过
[文件]
条目安装),或者使用快捷方式实际指向的应用程序的图标。Inno不能也不会修改任何实际的图标,它只是告诉Windows使用您指定的图标。或者换一种说法:问题在于生成application.exe文件所使用的任何图标。您可以通过在Inno中的快捷方式上设置一个
IconFilename
来解决这个问题,但是正确的解决方法是在应用程序可执行文件中获得正确的图标。好的,谢谢,让我们假设javafxpackager会对图标进行加扰。原来我已经做了你建议的解决办法(我编辑了我的帖子),这就是你的意思吗?因为那也不行。