Home / Fixes / Python Fixes / Installation, PATH & Commands / How to install Python for all users on Windows
Python Installation Guide

How to install Python for all users on Windows

Choose the correct deployment model for a shared Windows PC without mixing up the modern per-user Python Install Manager with traditional machine-wide installs.

Windows administrationAll usersPython Install ManagerLegacy installer

The meaning of “for all users” changed with the new Windows installer

Python's current Install Manager can be installed and centrally configured by administrators, but its managed Python runtimes are per-user. The documentation explicitly says the manager does not support installing managed runtimes per-machine.

If every Windows account needs the same machine-wide Python runtime, choose the method based on the Python release and your deployment requirements. Do not assume the modern manager's runtimes become shared just because the manager itself is provisioned for everyone.

GoalWorking Python setup
StyleStep-by-step
RiskLow when verified
Traditional full installer

Method 1: Use an all-users full installer when available

Python releases that still provide the traditional Windows full installer support an all-users configuration. Launch the installer with administrator approval, choose Customize installation, and select the option to install for all users.

That path normally installs Python beneath Program Files and can add the installation to the system PATH. The exact options depend on the installer version.

Command-line equivalent for the legacy installer

python-X.Y.Z-amd64.exe /quiet InstallAllUsers=1 PrependPath=1 Include_test=0

Replace the example filename with the exact installer you downloaded. This syntax belongs to the traditional full installer, not the modern Python Install Manager.

Modern Python Install Manager

Method 2: Deploy the manager, then let each user install runtimes

For current Windows deployments, an administrator can provision the Python Install Manager using supported enterprise tooling. Python's documentation shows WinGet as the simplest programmatic installation method:

winget install 9NQ7512CXL7T -e --accept-package-agreements --disable-interactivity

However, each logged-in user still installs and owns their managed Python runtimes. This is often the cleanest model for shared PCs because users can have separate versions and environments.

Need one shared runtime anyway?

The modern manager offers a --target extraction option. The Python docs describe using it as administrator with a shared location to emulate a per-machine deployment, followed by your own system-wide PATH, registry, or Start-menu configuration.

py install --target="C:\SharedPython.14" 3.14

This is an administrator-managed deployment pattern, not a normal managed runtime. The manager will not treat the extracted target as one of its regular registered runtimes.

Which approach should you use?

Home PC with multiple accountsPer-user Python is usually simpler. Install the manager for each user or provision it, then keep projects separated.
Lab or classroomUse administrator-controlled deployment and a known version. Test PATH and permissions for a standard non-admin account.
Company fleetPrefer managed software deployment, controlled configuration and virtual environments. Avoid letting ad-hoc system PATH changes drift across machines.
Legacy applicationIf the application expects a fixed Program Files path, use the supported full installer for that Python release or an administrator-managed target deployment.

Verify from a second Windows account

Do not call an installation “all users” until you test it from a standard account that did not perform the installation.

python --version py list where python python -c "import sys; print(sys.executable)"

Confirm the same intended runtime is reachable and that package installs do not require writing into protected directories. For normal projects, create per-user virtual environments even when the base interpreter is shared.

Frequently asked questions

Can the new Python Install Manager install one runtime for every user?

Not as a normal managed runtime. Current Python documentation says managed runtimes are per-user.

Does installing the manager for all users make Python itself system-wide?

No. The manager and the runtimes are separate. Users still install their own managed runtimes.

Is the old InstallAllUsers option still valid?

It applies to the traditional full Windows installer where that installer is available. It is not an option for the modern Install Manager runtime model.

References

Commands and behavior were checked against current documentation on 8 August 2026. Python installation behavior changes over time, especially on Windows.