[Python-Dev] wininst-*.exe files in Lib/distutils/command

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