On 29Aug2019 0851, Serhiy Storchaka wrote:
29.08.19 18:35, Steve Dower пише:
The main reason for making it as a per-machine install by default was because there was no other way to replace the Python 3.4 launcher, but I suspect that's less of an issue now. (If the old one wasn't replaced, it would take precedence over the new per-user one and wouldn't be able to find some newer versions of Python.)
Would not be an issue with replacing the globally installed Python 3.7 launcher?
No, since 3.5 the launcher has been installed with a consistent ID, which means there is only ever one registered installation. Prior to that, the ID was randomly generated for each installer build, so most of the time you'd have multiple registered installs that just stomped on each other's files (and uninstalling one would delete the file, rather than refcounting it properly).
I'd have to test the upgrade step though - upgrading from a per-machine install to a per-user install will probably remove the per-machine one, though we should be able to detect the per-machine one and default to keeping it. This is the messiest part of installation...
If that checkbox were not present on the front page of the installer and everything was only installed for you, would you still have raised this question? I'm trying to see if that would be a satisfactory fix.
What if place options for the Python interpreter and the Python launcher on separate pages? They are different programs which can be deinstalled independently.
They already are on separate pages :) But the "Install now" button doesn't go to the next page, it jumps straight into laying down files, and since this one checkbox is the difference between needing admin or not (and if <=3.4 is installed, the launcher working or not), it made sense to promote it to the front page. As that last point may not be so important anymore, it might be time to remove it and simplify things further.