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

Petr Viktorin encukou at gmail.com
Mon Oct 22 07:41:50 EDT 2018


On 10/18/18 7:44 PM, VanL wrote:
> Primarily for non-windows platforms, but I also think for Windows users 
> without any compilers or similar tools installed. There is also some 
> discussion of removing some of the older toolchain-specific versions 
> (leaving only -14), but that is a subject for another day.
> 
> Also I am not sure that bug report applies to 3.5/3.6/3.7.

It does.



> On Thu, Oct 18, 2018 at 11:26 AM Petr Viktorin <encukou at gmail.com 
> <mailto:encukou at gmail.com>> wrote:
> 
>     On 10/18/18 4:40 PM, Zachary Ware wrote:
>      > On Thu, Oct 18, 2018 at 9:09 AM VanL <van.lindberg at gmail.com
>     <mailto: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.
> 
>     Is that the only reason for them?
>     At least on Linux, bdist_wininst does not work since at least Python
>     3.2, as it tries to use a Windows-only encoding internally.
>     https://bugs.python.org/issue10945
> 
>     If they're only there for non-Windows platforms, they're useless.
> 
>      >> 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.
> 


More information about the Python-Dev mailing list