This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: 3.10.0 ships with older tcl/tk DLLs than 3.9.9 causing Windows Installer problems
Type: Stage: resolved
Components: Tkinter Versions: Python 3.10
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: AlexWaygood, Athanasius, epaine
Priority: normal Keywords:

Created on 2021-12-05 12:06 by Athanasius, last changed 2022-04-11 14:59 by admin. This issue is now closed.

Messages (5)
msg407703 - (view) Author: Athanasius (Athanasius) Date: 2021-12-05 12:06
Python 3.10.0 ships with version 8.6.2.10 of both tcl86t.dll and tk86t.dll.

Python 3.9.9, released after 3.10.0, ships with the later version 8.6.2.12 of both files.

Releasing a project using py2exe and WiX to build a windows MSI installer file means that upgrading Python we use from 3.9.9 to 3.10.0 then refuses to install the files tcl86t.dll and tk86t.dll because their versions are older than the already installed files (but for some reason it *does* remove those older versions).

For the user this then means the application crashes on startup when import of _tkinter.pyd fails due to the missing DLLs.  There are two workarounds of: 1) Do a subsequent repair install of the MSI, 2) Manually uninstall the application before installing our version based on Python 3.10.  Neither of these are attractive given the often non-technical backgrounds of our users.

How soon is a 3.10.1 expected that will address this ?  In the meantime I'm either going to have to special-case things and pull in the Python 3.9.9 versions of the files, or just not upgrade the project to Python 3.10.
msg407704 - (view) Author: Alex Waygood (AlexWaygood) * (Python triager) Date: 2021-12-05 12:19
You can find the release schedule here, which says that 3.10.1 is expected... tomorrow https://www.python.org/dev/peps/pep-0619/#id6
msg407706 - (view) Author: Athanasius (Athanasius) Date: 2021-12-05 12:28
Thanks, I have my fingers crossed that 3.10.1 will have automatically picked up >= 8.6.2.12 versions of the files.  I'll check once it's available.
msg407714 - (view) Author: E. Paine (epaine) * Date: 2021-12-05 16:00
I can confirm that 3.10.1 is going to use Tk 8.6.12 (see #45732). Python 3.10.0 was meant to use Tk 8.6.11, but there was an issue with the build process (#43652).
msg407916 - (view) Author: Athanasius (Athanasius) Date: 2021-12-07 11:31
I can confirm that things are now working properly for us with Python 3.10.1.

This can be closed with regards to the immediate issue, but perhaps the release team might want to implement some checks/policy to avoid such an issue in future ?
History
Date User Action Args
2022-04-11 14:59:53adminsetgithub: 90144
2021-12-07 17:51:37ned.deilysetstatus: open -> closed
resolution: fixed
stage: resolved
2021-12-07 11:31:13Athanasiussetmessages: + msg407916
2021-12-05 16:00:54epainesetnosy: + epaine
messages: + msg407714
2021-12-05 12:28:32Athanasiussetmessages: + msg407706
2021-12-05 12:19:33AlexWaygoodsetnosy: + AlexWaygood
messages: + msg407704
2021-12-05 12:06:49Athanasiuscreate