From: Matthias M. <Blog@OutOfHanwell.com> - 2008-04-23 02:32:54
Attachments:
icon.patch
|
Windows Vista is not displaying my application icon correctly. If I create a shortcut, it shows the correct icon in the "Choose Icon" dialog, but Explorer shows the generic Windows application icon for the shortcut. I have found that changing the sublanguage for the icon to SUBLANG_DEFAULT resolves the issue. This seems like a sane value, but I cannot tell from the documentation whether this is the correct solution. The documentation is a bit sketchy at best (see http://msdn2.microsoft.com/en-us/library/ms776327(VS.85).aspx). I have attached a patch with my change. Is there a better way to solve this issue? -Matthias Miller |
From: Thomas H. <th...@ct...> - 2008-04-25 10:01:58
|
Matthias Miller schrieb: > Windows Vista is not displaying my application icon correctly. If I > create a shortcut, it shows the correct icon in the "Choose Icon" > dialog, but Explorer shows the generic Windows application icon for the > shortcut. I have found that changing the sublanguage for the icon to > SUBLANG_DEFAULT resolves the issue. This seems like a sane value, but I > cannot tell from the documentation whether this is the correct solution. > The documentation is a bit sketchy at best (see > http://msdn2.microsoft.com/en-us/library/ms776327(VS.85).aspx). As usual :-(. > I have attached a patch with my change. Is there a better way to solve > this issue? Index: source/py2exe_util.c =================================================================== RCS file: /cvsroot/py2exe/py2exe/source/py2exe_util.c,v retrieving revision 1.14 diff -r1.14 py2exe_util.c 342c342 < MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), --- > MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), I cannot (easily) test on vista. Are you sure that this patch fixes the issue? Looking at the code, the above patch changes the langid in the 'add_resource' function, not in the 'add_icon' function. How are you creating the application icon? However, for maximum flexibility the py2exe_util functions could probably be changed to take the langid as an additional, optional parameter, defaulting to what we have now. At least this would make experimenting with different values easier, without having to rebuild the extension. Thomas |
From: Matthias M. <Blog@OutOfHanwell.com> - 2008-04-25 16:22:17
|
Index: source/py2exe_util.c =================================================================== RCS file: /cvsroot/py2exe/py2exe/source/py2exe_util.c,v retrieving revision 1.14 diff -r1.14 py2exe_util.c 186c186 < static rt_icon_id = 0; --- > static rt_icon_id = 1; |
From: Thomas H. <th...@ct...> - 2008-04-25 18:25:54
|
Matthias Miller schrieb: > Good suggestion. I thought this made a difference, but when I went back > to retest it, I couldn't duplicate. I am now second-guessing that patch. > I've attached a new proposed patch to change the RT_ICON IDs to be > 1-based instead of 0-based. This does the trick for me. Interestingly > enough, the IDs are 1-based in panda3d (see > http://panda3d.cvs.sourceforge.net/panda3d/direct/src/pyinst/icon.py?view=markup > ). Ha, I had completely forgotten about that code. IIRC, I contributed it to Gordon McMillans installer (which is now maintained as PyInstaller). It seems that using '1' instead of '0' at least does no harm, but it would be nice to have someone else on Vista confirm the problem and that your new patch fixes it: Thomas Index: source/py2exe_util.c =================================================================== RCS file: /cvsroot/py2exe/py2exe/source/py2exe_util.c,v retrieving revision 1.14 diff -r1.14 py2exe_util.c 186c186 < static rt_icon_id = 0; --- > static rt_icon_id = 1; |
From: Jimmy R. <ji...@re...> - 2008-04-26 14:02:24
|
On 4/25/08 11:25 AM, "Thomas Heller" <th...@ct...> wrote: > It seems that using > '1' instead of '0' at least does no harm, but it would be nice to have someone > else on Vista confirm the problem and that your new patch fixes it: > > Thomas > > Index: source/py2exe_util.c > =================================================================== > RCS file: /cvsroot/py2exe/py2exe/source/py2exe_util.c,v > retrieving revision 1.14 > diff -r1.14 py2exe_util.c > 186c186 > < static rt_icon_id = 0; > --- >> static rt_icon_id = 1; > I'm not able to duplicate the problem with or without the patch. I see my test icon fine on W2K, XP, XP64, Vista, and Vista 64 (these are all US/English versions). Poking around in the EXEs that ship with Vista, I see that the icon ids are all over the place. I didn't find any that start at 0, but I found one starting at 1, another at 17, another at 100. I also tried -1 and that worked fine. Jimmy |
From: le d. <le....@la...> - 2008-06-30 15:54:03
|
Just after sending my message, I saw this topic. Maybe I can test this patch but I cannot build C code so if someone as a build of it I am interested. Jimmy Retzlaff a écrit : > On 4/25/08 11:25 AM, "Thomas Heller" <th...@ct...> wrote: >> It seems that using >> '1' instead of '0' at least does no harm, but it would be nice to have someone >> else on Vista confirm the problem and that your new patch fixes it: >> >> Thomas >> >> Index: source/py2exe_util.c >> =================================================================== >> RCS file: /cvsroot/py2exe/py2exe/source/py2exe_util.c,v >> retrieving revision 1.14 >> diff -r1.14 py2exe_util.c >> 186c186 >> < static rt_icon_id = 0; >> --- >>> static rt_icon_id = 1; > > I'm not able to duplicate the problem with or without the patch. I see my > test icon fine on W2K, XP, XP64, Vista, and Vista 64 (these are all > US/English versions). Poking around in the EXEs that ship with Vista, I see > that the icon ids are all over the place. I didn't find any that start at 0, > but I found one starting at 1, another at 17, another at 100. I also tried > -1 and that worked fine. > > Jimmy > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > _______________________________________________ > Py2exe-users mailing list > Py2...@li... > https://lists.sourceforge.net/lists/listinfo/py2exe-users > > |
From: le d. <le....@la...> - 2008-09-02 14:53:21
|
Hello, I've tried the new build on several applications that didn't display the icon with Vista. They now do it correctly. This correction works for me ! Thanks Matthias Miller a écrit : > Here is a build that should have the patch. I'm replying off-list to > avoid sending the attachment to everyone. If it works, just reply to the > list indicating that it works. > > -Matthias Miller > > ------------------------------------------------------------------------ > > *From:* le dahut <le....@la...> > *Date:* 06/30/2008 10:54:04 AM -0500 > *To:* py2...@li... > *Subject:* [Py2exe-users] app icon not displaying correctly in Windows Vista >> Just after sending my message, I saw this topic. >> Maybe I can test this patch but I cannot build C code so if someone as a >> build of it I am interested. >> >> >> >> Jimmy Retzlaff a écrit : >> >>> On 4/25/08 11:25 AM, "Thomas Heller" <th...@ct...> wrote: >>> >>>> It seems that using >>>> '1' instead of '0' at least does no harm, but it would be nice to have someone >>>> else on Vista confirm the problem and that your new patch fixes it: >>>> >>>> Thomas >>>> >>>> Index: source/py2exe_util.c >>>> =================================================================== >>>> RCS file: /cvsroot/py2exe/py2exe/source/py2exe_util.c,v >>>> retrieving revision 1.14 >>>> diff -r1.14 py2exe_util.c >>>> 186c186 >>>> < static rt_icon_id = 0; >>>> --- >>>> >>>>> static rt_icon_id = 1; >>>>> >>> I'm not able to duplicate the problem with or without the patch. I see my >>> test icon fine on W2K, XP, XP64, Vista, and Vista 64 (these are all >>> US/English versions). Poking around in the EXEs that ship with Vista, I see >>> that the icon ids are all over the place. I didn't find any that start at 0, >>> but I found one starting at 1, another at 17, another at 100. I also tried >>> -1 and that worked fine. >>> >>> Jimmy >>> >>> >>> ------------------------------------------------------------------------- >>> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference >>> Don't miss this year's exciting event. There's still time to save $100. >>> Use priority code J8TL2D2. >>> http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone >>> _______________________________________________ >>> Py2exe-users mailing list >>> Py2...@li... >>> https://lists.sourceforge.net/lists/listinfo/py2exe-users >>> >>> >>> >> >> ------------------------------------------------------------------------- >> Check out the new SourceForge.net Marketplace. >> It's the best place to buy or sell services for >> just about anything Open Source. >> http://sourceforge.net/services/buy/index.php >> _______________________________________________ >> Py2exe-users mailing list >> Py2...@li... >> https://lists.sourceforge.net/lists/listinfo/py2exe-users >> >> > |
From: Matthias M. <Blog@OutOfHanwell.com> - 2008-09-10 21:10:03
Attachments:
icon.patch
|
le dahut wrote: > Hello, I've tried the new build on several applications that didn't > display the icon with Vista. > They now do it correctly. > This correction works for me ! > > Thanks > >>> <snip> >>>> On 4/25/08 11:25 AM, "Thomas Heller" <th...@ct...> wrote: >>>> >>>>> It seems that using >>>>> '1' instead of '0' at least does no harm, but it would be nice to >>>>> have someone >>>>> else on Vista confirm the problem and that your new patch fixes it: >>>>> >>>>> Thomas Any chance of getting this patch applied now that it's been duplicated? I've attached the patch for reference. -Matthias Miller |
From: Mark H. <mha...@sk...> - 2008-09-10 23:18:48
|
> le dahut wrote: > > Hello, I've tried the new build on several applications that didn't > > display the icon with Vista. > > They now do it correctly. > > This correction works for me ! > > > > Thanks > > > >>> <snip> > >>>> On 4/25/08 11:25 AM, "Thomas Heller" <th...@ct...> wrote: > >>>> > >>>>> It seems that using > >>>>> '1' instead of '0' at least does no harm, but it would be nice to > >>>>> have someone else on Vista confirm the problem and that your new > >>>>> patch fixes it: > >>>>> > >>>>> Thomas > > > Any chance of getting this patch applied now that it's been duplicated? > I've attached the patch for reference. IIUC, this will give the first icon in the file an ID of 1, which will break a few of my apps. I wouldn't have a problem with that if it was fixing a real problem - but I don't see it. I'm using a py2exe app with multiple icons each with multiple images on vista without a problem. Are you sure you aren't referring to a similar sounding icon problem which has already been fixed: r646 | theller | 2008-02-29 19:43:49 +1100 (Fri, 29 Feb 2008) | 4 lines Embedding icon resources into the image does now work correctly even for ico files containing multiple images. Each RT_ICON resource must have a unique id which must also be in the RT_GROUP_ICON resource. Otherwise, can you demonstrate the problem in one of the samples (my apologies if you already have - I've lost old py2exe mail locally and I'm too lazy to google to find out) Cheers, Mark |
From: Jimmy R. <ji...@re...> - 2008-09-11 05:14:42
|
On 9/10/08 4:18 PM, "Mark Hammond" <mha...@sk...> wrote: >> le dahut wrote: >>> Hello, I've tried the new build on several applications that didn't >>> display the icon with Vista. >>> They now do it correctly. >>> This correction works for me ! >>> >>> Thanks >>> >>>>> <snip> >>>>>> On 4/25/08 11:25 AM, "Thomas Heller" <th...@ct...> wrote: >>>>>> >>>>>>> It seems that using >>>>>>> '1' instead of '0' at least does no harm, but it would be nice to >>>>>>> have someone else on Vista confirm the problem and that your new >>>>>>> patch fixes it: >>>>>>> >>>>>>> Thomas >> >> >> Any chance of getting this patch applied now that it's been duplicated? >> I've attached the patch for reference. > > IIUC, this will give the first icon in the file an ID of 1, which will break > a few of my apps. I wouldn't have a problem with that if it was fixing a > real problem - but I don't see it. I'm using a py2exe app with multiple > icons each with multiple images on vista without a problem. I also tried to reproduce the problem on Vista (both 32 and 64-bit) with several different ID variations and could not get it to fail. We need to really understand the root cause of the problem before we try to fix it, and we don't really understand the root cause unless we can make it fail at will on different machines. Jimmy |
From: Matthias M. <Blog@OutOfHanwell.com> - 2008-09-11 14:18:26
Attachments:
test_vistaicon.ico
test_vistaicon.py
|
from distutils.core import setup, Extension import py2exe setup( windows = [{ 'script': 'test_vistaicon.py', 'icon_resources': [(1,'test_vistaicon.ico')], }] ) |
From: Werner F. B. <wer...@fr...> - 2008-09-11 14:47:24
Attachments:
WinExplorer.jpg
|
Matthias, Matthias Miller wrote: > Jimmy Retzlaff wrote: >> On 9/10/08 4:18 PM, "Mark Hammond" <mha...@sk...> wrote: >> >> >>>> le dahut wrote: >>>> >>>>> Hello, I've tried the new build on several applications that didn't >>>>> display the icon with Vista. >>>>> They now do it correctly. >>>>> This correction works for me ! >>>>> >>>>> Thanks >>>>> >>>>> >>>>>>> <snip> >>>>>>> >>>>>>>> On 4/25/08 11:25 AM, "Thomas Heller" <th...@ct...> wrote: >>>>>>>> >>>>>>>> >>>>>>>>> It seems that using >>>>>>>>> '1' instead of '0' at least does no harm, but it would be nice to >>>>>>>>> have someone else on Vista confirm the problem and that your new >>>>>>>>> patch fixes it: >>>>>>>>> >>>>>>>>> Thomas >>>>>>>>> >>>> Any chance of getting this patch applied now that it's been duplicated? >>>> I've attached the patch for reference. >>>> >>> IIUC, this will give the first icon in the file an ID of 1, which will break >>> a few of my apps. I wouldn't have a problem with that if it was fixing a >>> real problem - but I don't see it. I'm using a py2exe app with multiple >>> icons each with multiple images on vista without a problem. >>> >> >> I also tried to reproduce the problem on Vista (both 32 and 64-bit) with >> several different ID variations and could not get it to fail. We need to >> really understand the root cause of the problem before we try to fix it, and >> we don't really understand the root cause unless we can make it fail at will >> on different machines. >> > > > I have attached a sample that duplicates the problem on my computer. > When I build it using the py2exe out of trunk, Windows Explorer shows a > default application icon for the executable. When I build it with the > patch, Windows Explorer shows the correct icon. Just out of curiosity I copied your files to a folder and build it. Looking at the generated dist folder shows the icon you included and not a default icon (see attached jpg). I am on: Vista 32 ultimate Python 2.5.2 py2exe '0.6.6' Haven't got around to upgrade to 0.6.8 yet. Werner |
From: Werner F. B. <wer...@fr...> - 2008-11-21 15:06:04
|
Werner F. Bruhin wrote: ... > > Looking at the generated dist folder shows the icon you included and not > a default icon (see attached jpg). > > I am on: > Vista 32 ultimate > Python 2.5.2 > py2exe '0.6.6' > > Haven't got around to upgrade to 0.6.8 yet. > > Werner I just upgraded to 0.6.9 and now I see this problem with no icon being attached to the exe. I used the sample files provided by Matthias in his 11/Sept email and after running setup.py the exe has the default icon instead of the question mark. I tried the following entries: 'icon_resources': [(0,'test_vistaicon.ico')], 'icon_resources': [(1,'test_vistaicon.ico')], I noticed this also in another application I working on. Werner |
From: Werner F. B. <wer...@fr...> - 2008-11-21 15:51:13
|
Werner F. Bruhin wrote: > Werner F. Bruhin wrote: > .... > >> Looking at the generated dist folder shows the icon you included and not >> a default icon (see attached jpg). >> >> I am on: >> Vista 32 ultimate >> Python 2.5.2 >> py2exe '0.6.6' >> >> Haven't got around to upgrade to 0.6.8 yet. >> >> Werner > I just upgraded to 0.6.9 and now I see this problem with no icon being > attached to the exe. > > I used the sample files provided by Matthias in his 11/Sept email and > after running setup.py the exe has the default icon instead of the > question mark. > > I tried the following entries: > 'icon_resources': [(0,'test_vistaicon.ico')], > 'icon_resources': [(1,'test_vistaicon.ico')], > > I noticed this also in another application I working on. If I go back to 0.6.6 then with this entry it works 'icon_resources': [(1,'test_vistaicon.ico')], and with this one it does not: 'icon_resources': [(0,'test_vistaicon.ico')], Werner |
From: Werner F. B. <wer...@fr...> - 2008-11-28 10:04:23
|
Werner F. Bruhin wrote: > Werner F. Bruhin wrote: > .... > >> Looking at the generated dist folder shows the icon you included and not >> a default icon (see attached jpg). >> >> I am on: >> Vista 32 ultimate >> Python 2.5.2 >> py2exe '0.6.6' >> >> Haven't got around to upgrade to 0.6.8 yet. >> >> Werner > I just upgraded to 0.6.9 and now I see this problem with no icon being > attached to the exe. > > I used the sample files provided by Matthias in his 11/Sept email and > after running setup.py the exe has the default icon instead of the > question mark. > > I tried the following entries: > 'icon_resources': [(0,'test_vistaicon.ico')], > 'icon_resources': [(1,'test_vistaicon.ico')], > > I noticed this also in another application I working on. > > Werner > Can anyone confirm that the icon works with py2exe 0.6.9 on Vista? Werner |
From: Thomas H. <th...@ct...> - 2008-11-28 18:44:12
|
Werner F. Bruhin schrieb: > Werner F. Bruhin wrote: >> Werner F. Bruhin wrote: >> .... >> >>> Looking at the generated dist folder shows the icon you included and not >>> a default icon (see attached jpg). >>> >>> I am on: >>> Vista 32 ultimate >>> Python 2.5.2 >>> py2exe '0.6.6' >>> >>> Haven't got around to upgrade to 0.6.8 yet. >>> >>> Werner >> I just upgraded to 0.6.9 and now I see this problem with no icon being >> attached to the exe. >> >> I used the sample files provided by Matthias in his 11/Sept email and >> after running setup.py the exe has the default icon instead of the >> question mark. >> >> I tried the following entries: >> 'icon_resources': [(0,'test_vistaicon.ico')], >> 'icon_resources': [(1,'test_vistaicon.ico')], >> >> I noticed this also in another application I working on. >> >> Werner >> > Can anyone confirm that the icon works with py2exe 0.6.9 on Vista? I installed vista in a virtual machine (no aero in this) and could not see the icons in a program build from the mentioned sample files, with neither of the entries you have tried. However, the programs that I usually build show the icon fine. But I'm afraid I have no time to debug this further. -- Thanks, Thomas |
From: Werner F. B. <wer...@fr...> - 2008-11-28 19:36:25
|
Thomas Heller wrote: >>> Werner >>> >> Can anyone confirm that the icon works with py2exe 0.6.9 on Vista? > > I installed vista in a virtual machine (no aero in this) and could not see > the icons in a program build from the mentioned sample files, with neither > of the entries you have tried. > > However, the programs that I usually build show the icon fine. But I'm afraid > I have no time to debug this further. Thanks for having tried it. Would like to help pinning this down, but py2exe and its inner working are way over my head. It is also not urgent/pressing at all as 0.6.6 is working fine for me. Werner |
From: le d. <le....@la...> - 2008-12-12 10:51:18
|
Thomas Heller wrote : > Werner F. Bruhin schrieb: >> Werner F. Bruhin wrote: >>> Werner F. Bruhin wrote: >>> .... >>> >>>> Looking at the generated dist folder shows the icon you included and not >>>> a default icon (see attached jpg). >>>> >>>> I am on: >>>> Vista 32 ultimate >>>> Python 2.5.2 >>>> py2exe '0.6.6' >>>> >>>> Haven't got around to upgrade to 0.6.8 yet. >>>> >>>> Werner >>> I just upgraded to 0.6.9 and now I see this problem with no icon being >>> attached to the exe. >>> >>> I used the sample files provided by Matthias in his 11/Sept email and >>> after running setup.py the exe has the default icon instead of the >>> question mark. >>> >>> I tried the following entries: >>> 'icon_resources': [(0,'test_vistaicon.ico')], >>> 'icon_resources': [(1,'test_vistaicon.ico')], >>> >>> I noticed this also in another application I working on. >>> >>> Werner >>> >> Can anyone confirm that the icon works with py2exe 0.6.9 on Vista? > > I installed vista in a virtual machine (no aero in this) and could not see > the icons in a program build from the mentioned sample files, with neither > of the entries you have tried. > > However, the programs that I usually build show the icon fine. But I'm afraid > I have no time to debug this further. > * Using "py2exe-0.6.9.win32-py2.5.exe". I've a setup.py that builds 4 .exe, all with the same icon. Some displays it some don't. * Using "py2exe-0.6.8.win32-py2.5.exe" with Matthias Miller's patch, all icons are displayed correctly. Is it possible to include his patch in py2exe ? Maybe someone could build a 0.6.9 version including this patch for me to test it. We're very python addicts and about to use more and more Vista. So I can do some tests if necessary. |
From: Mark H. <ski...@gm...> - 2008-12-14 23:47:17
|
le dahut wrote: > Is it possible to include his patch in py2exe ? I've finally had a closer look at this. While I still can't reproduce the problem, my previous objection appears to be unfounded - the ID used by the patch isn't the "icon ID" as exposed to applications, but appears to be an internal ID. As a result if this and given the other feedback, and even though I still can't reproduce or explain it, I went ahead and checked it in as r684. Cheers, Mark |