Consider downgrading Windows 32-bit from Tier-1 to Tier-2 or Tier-3? (in Python 3.13?)

That’s exactly what it is, but unfortunately it needs a rewrite from scratch without the help of the WiX toolset in order to handle that kind of choice. The WiX toolset provides all the registration, detection, upgrade and repair logic, but is also limited in that it has to know which packages will be installed at compile time (it’s possible to list them all and then omit them later, but that has its own set of complexities). A single bundle that includes all the 32-bit and 64-bit and ARM64 packages is possible, but huge (if compressed) or unreliable (if download-on-demand), and likely unreliable in a number of other areas too (feature on/off selections leading to registry/environment inconsistencies, etc.).

I don’t think there’s a worthwhile return on rewriting the entire installer. If we’re going to make big changes there, I’d rather simplify it down to a less user-friendly experience and push on the Store package as the “just give me Python” option.


By “less user friendly” I mean:

  • don’t run ensurepip on install
  • don’t precompile .pyc on install
  • don’t allow “Repair” - “uninstall” just becomes deleting the entire install directory and registry keys
  • don’t allow feature on/off selections
  • don’t download on demand
  • don’t modify environment variables
  • don’t upgrade existing installs (maybe offer to delete all the old files before overwriting if the user chooses the same directory)
  • don’t offer a per-user/all machine choice (except at the command line)
  • don’t bundle the launcher (make that a separate installer, it can keep the file associations etc.)

So basically, if you get our main installer (which I often call the “Python Development Kit”), then you get everything. We get a much easier to maintain installer - basically a self-extracting ZIP - and a number of long standing bugs actually just go away.

People who want a user-friendly experience on Windows get it from the Windows Store, which installs quicker, properly handles global aliases,[1] detects the user’s platform, automatically updates, and is properly secured against people breaking their own install.


  1. Well, almost. But what remains there are acknowledged bugs/limitations in the OS and are not our fault. ↩︎

1 Like