I thought I could find an answer to this in the archives, but what I found didn't solve my problem.
When run from the interpreter my wxPython application looks nice. When I run the py2exe'd version it gets that crappy look which seems to indicate a problem with the common controls dll.
I've tried different approaches to solve the problem, the one mentioned here: http://wiki.wxpython.org/py2exe resulted in the same look. Tried again without any extra steps and just executed the .exe file (which works since I've installed the vc9 runtime libs with the vcredist.exe). Same old school look.
As far as I understand, wxPython uses the activation contexts (as of 2.8.10.1) to load the common controls by itself and I am not required to change any manifests. Somehow this seems to fail when I run from the py2exe'd version.
Just a thought & I don't know if it will help but check if you have any
other wx dlls present on the machine, I have had occasions where the command
line was picking a different dll up to that found by double clicking.
Steve
···
--------------------------------------------------
From: "Nitro" <nitrogenycs@googlemail.com>
Sent: Sunday, September 20, 2009 12:32 PM
To: <wxPython-users@googlegroups.com>
Subject: [wxPython-users] Another time: wxPython, py2exe, py 2.6, manifests
Hello,
I thought I could find an answer to this in the archives, but what I found
didn't solve my problem.
When run from the interpreter my wxPython application looks nice. When I
run the py2exe'd version it gets that crappy look which seems to indicate
a problem with the common controls dll.
I've tried different approaches to solve the problem, the one mentioned
here: py2exe - wxPyWiki resulted in the same look. Tried
again without any extra steps and just executed the .exe file (which works
since I've installed the vc9 runtime libs with the vcredist.exe). Same old
school look.
As far as I understand, wxPython uses the activation contexts (as of
2.8.10.1) to load the common controls by itself and I am not required to
change any manifests. Somehow this seems to fail when I run from the
py2exe'd version.
Thanks for the tip, I've investigated the dlls that are in my library.zip file and their version info says 2.8.10.1. So it must be something else.
-Matthias
···
Am 20.09.2009, 13:40 Uhr, schrieb <GadgetSteve@live.co.uk>:
Just a thought & I don't know if it will help but check if you have any
other wx dlls present on the machine, I have had occasions where the command
line was picking a different dll up to that found by double clicking.
Am 20.09.2009, 13:40 Uhr, schrieb <GadgetSteve@live.co.uk>:
Just a thought & I don't know if it will help but check if you have any
other wx dlls present on the machine, I have had occasions where the command
line was picking a different dll up to that found by double clicking.
Thanks for the tip, I've investigated the dlls that are in my library.zip file and their version info says 2.8.10.1. So it must be something else.
Just to be sure, before I recheck/look again at the stuff from the wiki, the only problem with py2exe you have is with the look not being correct. I.e. on the small sample used for the wiki the button does not have rounded corners.
Yes, the only problem I have is the buttons look ugly. I have only tried this with my own application so far. I will now go and try to replicate this with the wiki example app and see if it happens there, too.
-Matthias
···
Am 21.09.2009, 09:45 Uhr, schrieb werner <wbruhin@free.fr>:
Matthias,
Nitro wrote:
Am 20.09.2009, 13:40 Uhr, schrieb <GadgetSteve@live.co.uk>:
Just a thought & I don't know if it will help but check if you have any
other wx dlls present on the machine, I have had occasions where the
command
line was picking a different dll up to that found by double clicking.
Thanks for the tip, I've investigated the dlls that are in my library.zip
file and their version info says 2.8.10.1. So it must be something else.
Just to be sure, before I recheck/look again at the stuff from the wiki,
the only problem with py2exe you have is with the look not being
correct. I.e. on the small sample used for the wiki the button does not
have rounded corners.
Ok. I replicated the problem with the sample app. But this time I found something in the console. It says
"10:01:01: Debug: src/helpers.cpp(140): 'CreateActCtx' failed with error 0x000000
08 (f³r diesen Befehl ist nicht gen³gend Speicher verf³gbar.)."
Translates roughly as
"10:01:01: Debug: src/helpers.cpp(140): 'CreateActCtx' failed with error 0x000000
08 (not enough memory available for this command)."
Which explains why the common controls stuff does not load. I couldn't see this error first, because I didn't build my app in py2exe in console mode first. I.e. I used windows = [ myExeInfo ] instead of console = [ myExeInfo ] in the py2exe setup.
I'll see if I can find some py2exe options which limited e.g. stack memory or something like that. Currently I am using bundle_files = 2, I'll try changing that, too.
-Matthias
···
Am 21.09.2009, 09:45 Uhr, schrieb werner <wbruhin@free.fr>:
Matthias,
Nitro wrote:
Am 20.09.2009, 13:40 Uhr, schrieb <GadgetSteve@live.co.uk>:
Just a thought & I don't know if it will help but check if you have any
other wx dlls present on the machine, I have had occasions where the
command
line was picking a different dll up to that found by double clicking.
Thanks for the tip, I've investigated the dlls that are in my library.zip
file and their version info says 2.8.10.1. So it must be something else.
Just to be sure, before I recheck/look again at the stuff from the wiki,
the only problem with py2exe you have is with the look not being
correct. I.e. on the small sample used for the wiki the button does not
have rounded corners.
Last annoying message: I don't get the error and the application looks nice if I use bundle_files = 3.
-Matthias
···
Am 21.09.2009, 09:45 Uhr, schrieb werner <wbruhin@free.fr>:
Matthias,
Nitro wrote:
Am 20.09.2009, 13:40 Uhr, schrieb <GadgetSteve@live.co.uk>:
Just a thought & I don't know if it will help but check if you have any
other wx dlls present on the machine, I have had occasions where the
command
line was picking a different dll up to that found by double clicking.
Thanks for the tip, I've investigated the dlls that are in my library.zip
file and their version info says 2.8.10.1. So it must be something else.
Just to be sure, before I recheck/look again at the stuff from the wiki,
the only problem with py2exe you have is with the look not being
correct. I.e. on the small sample used for the wiki the button does not
have rounded corners.
Just a thought & I don't know if it will help but check if you have any
other wx dlls present on the machine, I have had occasions where the
command
line was picking a different dll up to that found by double clicking.
Thanks for the tip, I've investigated the dlls that are in my library.zip
file and their version info says 2.8.10.1. So it must be something else.
Just to be sure, before I recheck/look again at the stuff from the wiki,
the only problem with py2exe you have is with the look not being
correct. I.e. on the small sample used for the wiki the button does not
have rounded corners.
Last annoying message: I don't get the error and the application looks nice if I use bundle_files = 3.
You might want to post this on the py2exe list, maybe someone on there has a solution.
I don't touch any of the other bundle_files options anymore, they just to often don't work. I use zipfile option to reduce the number of files in the dist folder and obviously InnoSetup to then create an single file installer.
Werner
···
Am 21.09.2009, 09:45 Uhr, schrieb werner <wbruhin@free.fr>:
Am 20.09.2009, 13:40 Uhr, schrieb <GadgetSteve@live.co.uk>:
Until now I could use bundle_files = 2 for my applications which resulted in less clutter. But if I have to use bundle_files = 3, I'll get over it.
Thanks for your help, Werner!
-Matthias
···
Am 21.09.2009, 10:36 Uhr, schrieb werner <wbruhin@free.fr>:
Hi Matthias,
Nitro wrote:
Am 21.09.2009, 09:45 Uhr, schrieb werner <wbruhin@free.fr>:
Matthias,
Nitro wrote:
Am 20.09.2009, 13:40 Uhr, schrieb <GadgetSteve@live.co.uk>:
Just a thought & I don't know if it will help but check if you have any
other wx dlls present on the machine, I have had occasions where the
command
line was picking a different dll up to that found by double clicking.
Thanks for the tip, I've investigated the dlls that are in my
library.zip
file and their version info says 2.8.10.1. So it must be something else.
Just to be sure, before I recheck/look again at the stuff from the wiki,
the only problem with py2exe you have is with the look not being
correct. I.e. on the small sample used for the wiki the button does not
have rounded corners.
Last annoying message: I don't get the error and the application looks
nice if I use bundle_files = 3.
You might want to post this on the py2exe list, maybe someone on there
has a solution.
I don't touch any of the other bundle_files options anymore, they just
to often don't work. I use zipfile option to reduce the number of files
in the dist folder and obviously InnoSetup to then create an single file
installer.
I only use bundle-option 3...I haven't messed with the zipfile option
as I am uncertain as to what that does. Anyway, I started with bundle
option 1 and had screwy issues with about 1% of my user base where my
application just would not run.
I posted to the py2exe group and one of their gurus said to use option
3 instead and that's always worked. So I agree with Werner...there are
definitely some bugs inherent to the bundling options.
···
On Sep 21, 3:36 am, werner <wbru...@free.fr> wrote:
Hi Matthias,
Nitro wrote:
> Am 21.09.2009, 09:45 Uhr, schrieb werner <wbru...@free.fr>:
>> Matthias,
>> Nitro wrote:
>>> Am 20.09.2009, 13:40 Uhr, schrieb <GadgetSt...@live.co.uk>:
>>>> Just a thought & I don't know if it will help but check if you have any
>>>> other wx dlls present on the machine, I have had occasions where the
>>>> command
>>>> line was picking a different dll up to that found by double clicking.
>>> Thanks for the tip, I've investigated the dlls that are in my
>>> library.zip
>>> file and their version info says 2.8.10.1. So it must be something else.
>> Just to be sure, before I recheck/look again at the stuff from the wiki,
>> the only problem with py2exe you have is with the look not being
>> correct. I.e. on the small sample used for the wiki the button does not
>> have rounded corners.
> Last annoying message: I don't get the error and the application looks
> nice if I use bundle_files = 3.
You might want to post this on the py2exe list, maybe someone on there
has a solution.
I don't touch any of the other bundle_files options anymore, they just
to often don't work. I use zipfile option to reduce the number of files
in the dist folder and obviously InnoSetup to then create an single file
installer.
I only use bundle-option 3...I haven't messed with the zipfile option
as I am uncertain as to what that does. Anyway, I started with bundle
option 1 and had screwy issues with about 1% of my user base where my
application just would not run.
This has been my experience also, but I never got down to the 1% (more like 90%) failure rate on bundle=1. I believe I have narrowed it down to version issues with MSVCR80.dll and MSVCP80.dll, but never had the time to resolve the problem completely so I stick with bundle=3 as it works without any fiddling.
Well, it may not have been quite 1%...but I installed the program on a
few dozen user's PCs here internally and it didn't work on 1 or 2 PCs.
I'm sure if I'd had a larger user set with a larger set of differences
in OS and pre-installed software, my issues would have been magnified.
Fortunately, we can mostly control what is on our user's PCs and
delete stuff they shouldn't have installed.
···
On Sep 21, 12:30 pm, "Fahlgren, Eric" <efahlg...@lifemodeler.com> wrote:
Mike Driscoll wrote:
> I only use bundle-option 3...I haven't messed with the zipfile option
> as I am uncertain as to what that does. Anyway, I started with bundle
> option 1 and had screwy issues with about 1% of my user base where my
> application just would not run.
This has been my experience also, but I never got down to the 1% (more like 90%) failure rate on bundle=1. I believe I have narrowed it down to version issues with MSVCR80.dll and MSVCP80.dll, but never had the time to resolve the problem completely so I stick with bundle=3 as it works without any fiddling.
IIUC, in order for the manifest hack to work there has to be a real path name for the DLLs, (and also the wx PYDs I think.) Putting them in the zip file and using py2exe's hack to load them from there breaks the manifest hack.
···
On 9/21/09 2:01 AM, Nitro wrote:
Last annoying message: I don't get the error and the application looks
nice if I use bundle_files = 3.
You might want to post this on the py2exe list, maybe someone on there
has a solution.
I don't touch any of the other bundle_files options anymore, they just
to often don't work. I use zipfile option to reduce the number of files
in the dist folder and obviously InnoSetup to then create an single file
installer.
Until now I could use bundle_files = 2 for my applications which resulted
in less clutter. But if I have to use bundle_files = 3, I'll get over it.