-
-
Notifications
You must be signed in to change notification settings - Fork 30.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Windows installer is unclear and has redundant settings #90989
Comments
Hello together, I have problems to interpret the installer wizard/dialog. And my argument is that no matter if there are good reasons for the current options some of the users are confused by it. The goal should be to make the installer more clear about what this options do. Lets see the "Install for all users" option: Lets see about PATH/environment variables: And all this options are not synchronized. It means when I Enable "Add Python 3.9 to Path" on the first page the "Add Python to environment variables" on the third page is not updated (enabled) also. Again: |
You correctly read the options, so we'll need a suggestion on how to make it more clear without becoming impenetrable. Maybe changing the third one to say "Install Python for all users" would suffice? Possibly we should link to the install docs from the front page for people who want more help.
The py.exe launcher is totally separate from the version of Python you're installing, and if you previously installed it for all users (including if you previously installed Python 3.4 or earlier), you have to install it for all users again or it won't work. The option is on the front page so that non-admins can easily disable it and still install everything.
So that users can change it without having to go through the advanced install. This is the most common option to enable, even though we recommend against it unless you know what you're doing, so putting it on the front page saves _many_ users from having to go through all the other pages.
That sound like a bug. And I can't reproduce it, so we might need more info. If you go through setup a few times (without ever actually installing) and fiddle with the options, it will still produce a log file in %TEMP% that should explain which settings were modified, so we can see why they may not be updating in the UI for you. |
Thank you very much for your quick replay and for taking my problems and thoughts into account. I have to dive deeper into the topic but still have some ideas how to re-design the wizard. IMHO the primary problem is that on the first page the decision between "normal" and "advanced" is mixed with the settings for "normal". |
In the attachment you will find a PDF with variants A to D on each side. I tried to think into the design decisions made by the team who created the current installer. I am not sure of course but I tried to take this (assumed) decisions into account. Variant A:
Variant B: Variant C (would be my second favourite): Variant D (my favourite): Some more Notes and Thoughts „Customize“ is not a good term, because it is still possible to „customize“ the installation on that first page (the two check boxes on the bottom) without clicking „Customize installation“ and Add a „What is the py launcher for“ link to the wizard. Add a „What is pip launcher for“ link to the wizard. In the What-for-pages: Do not describe what py/pip can do but describe what the user can do with it. Modify the perspectives/view points! I would help you to review this texts. Use horizontal bars in the GUI to better visualise the separate ways/topics. E.g. in Variant B on page 2. I have some more detailed suggestions about modified wording. But I think at this point it is enough. :) |
So I'm the "team" that designed it the first time (with input from others, of course, but it wasn't designed by a committee or anything), and the primary goal was to enable a single-click install for the majority of users, biased towards simplicity for users who are less-experienced at administering a Windows PC. This was balanced with the fact that many users would already have 2.7 or 3.4 installed, and those installers had some poor, and irreversible, design flaws. These flaws forced us to install py.exe for all users by default, otherwise the majority of people would end up installing it lower on PATH and would never get the updates. As a result, it would break, because the launcher included with 3.4 wouldn't reliably detect 3.5, and we didn't have any option to detect or upgrade it. However, this meant that admin permissions would be required for a default install, which is not acceptable. So the front page option to switch that setting was added so that non-admin users could easily disable the admin requirement. The PATH option was added under protest, because too many users/teachers rely on it for their coursework and wanted it to be easier to find. If we could safely enable it by default we would, but it's fundamentally an unsafe operation. But it's popular, so that's why it's on the front page. So unsurprisingly, I like your variant A the best, which is really just tweaking the Tools/msi/bundle/Default.thm file a bit. It maintains the short path for those who want it (which we believe is the majority of users), and hopefully makes it clearer for advanced users. I dislike variant C because of the second page for simple installs. And for variant D we wouldn't offer per-machine installs for the runtime, and we wouldn't offer PATH options for the launcher, so it basically boils down to making the advanced button harder to find with less explanation. So if you'd like to propose a PR with changes to the files in Tools/msi/bundle to match your actual UIs, feel free. It _should_ automatically build the installer if you've modified those files, and you _should_ be able to download it for testing, though if not it isn't hard to build locally with Tools/msi/build.bat. (And of course, this would only apply to 3.11, so I've updated the version field.) |
Dear Steve, Variant A is fine for me, too. The important to points of A for me are 1) that the checkboxes on page 1 are moved up directly under the "Install Now" to make clear where they belong to and 2) the (easier to understand) separation between interpreter- (page2) and launcher-settings (page3). My apologize but I am not able to create PRs/patches. I am not familiar with your development environment and not able to invest time to learn it because in the feature it does not seems like I will create more patches for something because I do not have the expertise for a python interpreter. But I understand that is a question of resources. If there are currently now resources I would recommend to keep this ticket open. |
I made some tweaks to the text that should be helpful. I also made the launcher install per-user by default (unless an existing version is for all users, in which case the option gets flipped automatically), which I've been planning to do for a while. I don't think I can backport that change, unfortunately, but I'll take the text updates back to 3.10 |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: