[Python-Dev] wininst-*.exe files in Lib/distutils/command (original) (raw)

Zachary Ware zachary.ware+pydev at gmail.com
Thu Oct 18 10:40:53 EDT 2018


On Thu, Oct 18, 2018 at 9:09 AM VanL <van.lindberg at gmail.com> wrote:

Hi all,

I am looking into an issue associated with the wininst-*.exe files in the distutils/command subdirectory. It looks like these are the executable stubs used to create self-extracting zips for installation - but I am not 100% sure. It also looks like they include the calls to standard Windows functions to display the installer window. I have a couple questions I need help with: 1) Am I correct about the function, and if not, what are they?

You are correct. IIUC, they are checked in to allow creating those installers from non-Windows platforms.

2) Where did these come from, and where is their source code?

Source can be found here: https://github.com/python/cpython/tree/master/PC/bdist_wininst

The individual checked-in .exe files were each originally built by whoever updated the Windows toolchain to a new version of MSVC (Christian Heimes, Brian Curtin, or Steve Dower; though the oldest ones were added by Thomas Heller, presumably using whatever the current toolchain(s) was (were) at the time). A few of them have been rebuilt after bug fixes in the source since they were added, mostly by the same people, though I also see Mark Hammond and Raymond Hettinger in the history (and Georg Brandl via svnmerge). I notice that there are a few very minor code cleanups (the three latest commits here https://github.com/python/cpython/commits/master/PC/bdist_wininst/install.c) that have not made it into a rebuilt exe yet.

FTR, we really ought to remove all but the 14.0 version from the master branch. We don't support building Python with any toolchain older than 14.0 anymore, and the older toolchains are nigh impossible to find anymore anyway.

-- Zach



More information about the Python-Dev mailing list