Python 2.6, GUI not working on vista?

J

Jerry Hill

Fine. Can you then see to it that this is mentioned on the Python
download page?

I'm not sure if anyone has mentioned it in all of the invective, but
the right thing to do is to report a bug on http://bugs.python.org.
If the documentation for installing under Vista is wrong, file a bug
against the docs. If you know the right way to fix the docs, attach a
patch.
 
M

Martin v. Löwis

I say, ignore this advice and disable UAC.
Fine. Can you then see to it that this is mentioned on the Python
download page?

I think Thorsten's advice is helpful (in the sense that it solves
the problem, and is IMO pragmatic also), but I *still* wouldn't
put it on the Python download page, for fear of the flak from the
security folks who start screaming that the PSF should never give
such advice. I would personally think they would be wrong, but still
revert giving the advise under public pressure.

In any case, Python 2.6.1 will approach this problem in a different
way.

Regards,
Martin
 
M

Martin v. Löwis

You can believe what you want. The people who developed UAC don't have
to support it.

I know for a fact that the implementation is incomplete. In Windows
Installer, there is no way (that I know of) to create an MSI file
that conditionally turns on UAC, only when the installation actually
needs privilege elevation.

There is a static bit in the installer that indicates whether the MSI
file will do UAC, and there is no way to toggle this bit, e.g. after
asking the user whether this is a "for me" installation or "for all users".

I set this bit to "no UAC" for 2.6, in order to allow non-privileged
installation at all - only to find out that (due to an unrelated
problem), the "for me" installation doesn't actually work. I only found
out after the release, because nobody bothered reporting this problem
during the betas and release candidates. I didn't notice on my Vista
machine, because that has VS 2008 installed, in which case the "for me"
installation works just fine.

If anybody knows how to make the "for me" installation work
(i.e. how to set up the manifests that a single copy of the CRT
is used both by python26.dll, and all extension modules), please
let me know.

IOW: HELP! HELP!! HELP!!!
Meanwhile: just say no to Vista.

Regards,
Martin
 
T

Thorsten Kampe

* "Martin v. Löwis" (Thu, 09 Oct 2008 23:32:42 +0200)
I think Thorsten's advice is helpful (in the sense that it solves the
problem, and is IMO pragmatic also),

I can't except this honour, it was Michel's advice and I only seconded.
but I *still* wouldn't put it on the Python download page, for fear of
the flak from the security folks who start screaming that the PSF
should never give such advice.

Absolutely correct. Disabling UAC is a major change in the whole
security model in Windows - and while one can mention that, it's
certainly nothing you should suggest.

Thorstn
 
M

Mensanator

I know for a fact that the implementation is incomplete. In Windows
Installer, there is no way (that I know of) to create an MSI file
that conditionally turns on UAC, only when the installation actually
needs privilege elevation.

There is a static bit in the installer that indicates whether the MSI
file will do UAC, and there is no way to toggle this bit, e.g. after
asking the user whether this is a "for me" installation or "for all users".

I set this bit to "no UAC" for 2.6, in order to allow non-privileged
installation at all - only to find out that (due to an unrelated
problem), the "for me" installation doesn't actually work. I only found
out after the release, because nobody bothered reporting this problem
during the betas and release candidates.

I posted a problem with Vista on Jul 6 concerning not being
able to run IDLE in 2.6b1. No replies.

I also noted the successful use and need to use the
Administrator account on Sep 12 for 2.6rc1. Again,
no replies.

What am I supposed to do? File bug reports on things
I don't even know are bugs?
 
M

Martin v. Löwis

I posted a problem with Vista on Jul 6 concerning not being
able to run IDLE in 2.6b1. No replies.

Where did you post that? On python-dev?
What am I supposed to do? File bug reports on things
I don't even know are bugs?

You mean, it might have been intentional that IDLE won't run
on Vista?

Regards,
Martin
 
T

Thorsten Kampe

* "Martin v. Löwis" (Thu, 09 Oct 2008 23:41:44 +0200)
I know for a fact that the implementation is incomplete. In Windows
Installer, there is no way (that I know of) to create an MSI file
that conditionally turns on UAC, only when the installation actually
needs privilege elevation.

You cannot turn on (or turn off) UAC for a single application or
operation. That's the whole point of UAC.
There is a static bit in the installer that indicates whether the MSI
file will do UAC, and there is no way to toggle this bit, e.g. after
asking the user whether this is a "for me" installation or "for all users".

I set this bit to "no UAC" for 2.6, in order to allow non-privileged
installation at all - only to find out that (due to an unrelated
problem), the "for me" installation doesn't actually work. I only found
out after the release, because nobody bothered reporting this problem
during the betas and release candidates. I didn't notice on my Vista
machine, because that has VS 2008 installed, in which case the "for me"
installation works just fine.

Are you sure it worked with UAC enabled and a non-privileged account?
Anyway, here are some links regarding UAC:

* http://www.codeproject.com/KB/vista-security/MakingAppsUACAware.aspx
* http://en.wikipedia.org/wiki/User_Account_Control#Requesting_elevation

....and for the background:
* http://www.faq-o-matic.net/2008/02/22/benutzerkontensteuerung-uac-
richtig-einsetzen/

Thorsten
 
M

Mensanator

Where did you post that? On python-dev?

No, right here on comp.lang.python. I don't even know what
you're referring to.
You mean, it might have been intentional that IDLE won't run
on Vista?

No, as in maybe it's not a bug, maybe it's just me
being stupid or there's something wrong with my setup
(aside from using Vista in the first place over which
I had no control).

I'm not a developer, just a lowly end user. I'm not in
a position to be able to fix anything. All I can do is
report it and if it's legitimate, then hopefully someone
who knows what he's doing will fix it.
 
C

Craig Allen

as a 20 year observer of microsoft, I have to say this is not amazing
at all... and I do not mean that as a random put down of Microsoft.
Microsoft often develops things in response to demand... but they
don't always fit in their system well, and thus are not really used in
the spirit of the demand... meanwhile, bullet items are added to many
a software box and magazine review.

I would not presume to know more that Microsoft about that as a
business practice, but as an engineering practice, it speaks for
itself.
 
M

Martin v. Löwis

I'm not a developer, just a lowly end user. I'm not in
a position to be able to fix anything. All I can do is
report it and if it's legitimate, then hopefully someone
who knows what he's doing will fix it.

Ok. It's then still unfortunate that nobody reported the
problem; your message to comp.lang.python was not "reported"
(through the usual bug report channels). Somebody might have
told you what those channels are; it's unfortunate that nobody
did.

Regards,
Martin
 
M

Martin v. Löwis

I know for a fact that the implementation is incomplete. In Windows
You cannot turn on (or turn off) UAC for a single application or
operation. That's the whole point of UAC.

The installer runs in two phases: the UI phase, and the actual
installation phase. They are separate processes, and UAC is invoked
only in the middle (when it switches to the "server" phase).

It would well be possible to invoke UAC conditionally, depending on
what the UI phase learned.
Are you sure it worked with UAC enabled and a non-privileged account?
Anyway, here are some links regarding UAC:

* http://www.codeproject.com/KB/vista-security/MakingAppsUACAware.aspx
* http://en.wikipedia.org/wiki/User_Account_Control#Requesting_elevation

Unfortunately, these are irrelevant, since they talk about UAC wrt.
applications. However, an MSI file is not an application, so all these
settings and APIs don't apply.

Regards,
Martin
 
S

Steve Holden

alphadog said:
How about a compromise: Disable UAC. Install Python "for all". Re-
enable UAC. Why do people have to be so black-and-white?

Because they insist on believing each question has exactly one correct
answer.

regards
Steve
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,773
Messages
2,569,594
Members
45,119
Latest member
IrmaNorcro
Top