Skip to content

Commit

Permalink
Remove more references to bdist_wininst.
Browse files Browse the repository at this point in the history
  • Loading branch information
jaraco committed Aug 13, 2022
1 parent e6062a1 commit 2a854be
Show file tree
Hide file tree
Showing 6 changed files with 3 additions and 110 deletions.
1 change: 0 additions & 1 deletion distutils/command/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
'bdist',
'bdist_dumb',
'bdist_rpm',
'bdist_wininst',
'check',
'upload',
]
6 changes: 1 addition & 5 deletions distutils/tests/test_bdist.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,7 @@ def test_skip_build(self):
names.append('bdist_msi')

for name in names:
with warnings.catch_warnings():
warnings.filterwarnings(
'ignore', 'bdist_wininst command is deprecated', DeprecationWarning
)
subcmd = cmd.get_finalized_command(name)
subcmd = cmd.get_finalized_command(name)
if getattr(subcmd, '_unsupported', False):
# command is not supported on this build
continue
Expand Down
16 changes: 1 addition & 15 deletions docs/distutils/apiref.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1862,8 +1862,7 @@ Subclasses of :class:`Command` must define the following methods.

.. _Windows Installer: https://msdn.microsoft.com/en-us/library/cc185688(VS.85).aspx

In most cases, the ``bdist_msi`` installer is a better choice than the
``bdist_wininst`` installer, because it provides better support for
The ``bdist_msi`` installer provides better support for
Win64 platforms, allows administrators to perform non-interactive
installations, and allows installation through group policies.

Expand All @@ -1878,19 +1877,6 @@ Subclasses of :class:`Command` must define the following methods.
.. % todo
:mod:`distutils.command.bdist_wininst` --- Build a Windows installer
====================================================================

.. module:: distutils.command.bdist_wininst
:synopsis: Build a Windows installer

.. deprecated:: 3.8
Use bdist_wheel (wheel packages) instead.


.. % todo
:mod:`distutils.command.sdist` --- Build a source distribution
==============================================================

Expand Down
78 changes: 1 addition & 77 deletions docs/distutils/builtdist.rst
Original file line number Diff line number Diff line change
Expand Up @@ -141,14 +141,9 @@ generated by each, are:
+--------------------------+-------------------------------------+
| :command:`bdist_rpm` | rpm, srpm |
+--------------------------+-------------------------------------+
| :command:`bdist_wininst` | wininst |
+--------------------------+-------------------------------------+
| :command:`bdist_msi` | msi |
+--------------------------+-------------------------------------+

.. note::
bdist_wininst is deprecated since Python 3.8.

.. note::
bdist_msi is deprecated since Python 3.9.

Expand Down Expand Up @@ -191,7 +186,7 @@ easily specify multiple formats in one run. If you need to do both, you can
explicitly specify multiple :command:`bdist_\*` commands and their options::

python setup.py bdist_rpm --packager="John Doe <jdoe@example.org>" \
bdist_wininst --target-version="2.0"
bdist_dumb --dumb-option=foo

Creating RPM packages is driven by a :file:`.spec` file, much as using the
Distutils is driven by the setup script. To make your life easier, the
Expand Down Expand Up @@ -298,62 +293,6 @@ file winds up deep in the "build tree," in a temporary directory created by
.. % \command{bdist\_rpm} command with one that writes whatever else you want
.. % to the \file{.spec} file.)
.. _creating-wininst:

Creating Windows Installers
===========================

.. warning::
bdist_wininst is deprecated since Python 3.8.

.. warning::
bdist_msi is deprecated since Python 3.9.

Executable installers are the natural format for binary distributions on
Windows. They display a nice graphical user interface, display some information
about the module distribution to be installed taken from the metadata in the
setup script, let the user select a few options, and start or cancel the
installation.

Since the metadata is taken from the setup script, creating Windows installers
is usually as easy as running::

python setup.py bdist_wininst

or the :command:`bdist` command with the :option:`!--formats` option::

python setup.py bdist --formats=wininst

If you have a pure module distribution (only containing pure Python modules and
packages), the resulting installer will be version independent and have a name
like :file:`foo-1.0.win32.exe`. Note that creating ``wininst`` binary
distributions in only supported on Windows systems.

If you have a non-pure distribution, the extensions can only be created on a
Windows platform, and will be Python version dependent. The installer filename
will reflect this and now has the form :file:`foo-1.0.win32-py2.0.exe`. You
have to create a separate installer for every Python version you want to
support.

The installer will try to compile pure modules into :term:`bytecode` after installation
on the target system in normal and optimizing mode. If you don't want this to
happen for some reason, you can run the :command:`bdist_wininst` command with
the :option:`!--no-target-compile` and/or the :option:`!--no-target-optimize`
option.

By default the installer will display the cool "Python Powered" logo when it is
run, but you can also supply your own 152x261 bitmap which must be a Windows
:file:`.bmp` file with the :option:`!--bitmap` option.

The installer will also display a large title on the desktop background window
when it is run, which is constructed from the name of your distribution and the
version number. This can be changed to another text by using the
:option:`!--title` option.

The installer file will be written to the "distribution directory" --- normally
:file:`dist/`, but customizable with the :option:`!--dist-dir` option.

.. _cross-compile-windows:

Cross-compiling on Windows
Expand Down Expand Up @@ -462,18 +401,3 @@ built-in functions in the installation script.
and *iconindex* is the index of the icon in the file *iconpath*. Again, for
details consult the Microsoft documentation for the :class:`IShellLink`
interface.


Vista User Access Control (UAC)
===============================

Starting with Python 2.6, bdist_wininst supports a :option:`!--user-access-control`
option. The default is 'none' (meaning no UAC handling is done), and other
valid values are 'auto' (meaning prompt for UAC elevation if Python was
installed for all users) and 'force' (meaning always prompt for elevation).

.. note::
bdist_wininst is deprecated since Python 3.8.

.. note::
bdist_msi is deprecated since Python 3.9.
1 change: 0 additions & 1 deletion docs/distutils/commandref.rst
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,5 @@ anything except backslash or colon.
.. % \subsection{\protect\command{bdist}}
.. % \subsection{\protect\command{bdist\_dumb}}
.. % \subsection{\protect\command{bdist\_rpm}}
.. % \subsection{\protect\command{bdist\_wininst}}
11 changes: 0 additions & 11 deletions docs/distutils/introduction.rst
Original file line number Diff line number Diff line change
Expand Up @@ -112,17 +112,6 @@ the setup script. The difference is which Distutils *commands* they use: the
:command:`install` is more often for installers (although most developers will
want to install their own code occasionally).

If you want to make things really easy for your users, you can create one or
more built distributions for them. For instance, if you are running on a
Windows machine, and want to make things easy for other Windows users, you can
create an executable installer (the most appropriate type of built distribution
for this platform) with the :command:`bdist_wininst` command. For example::

python setup.py bdist_wininst

will create an executable installer, :file:`foo-1.0.win32.exe`, in the current
directory.

Other useful built distribution formats are RPM, implemented by the
:command:`bdist_rpm` command, Solaris :program:`pkgtool`
(:command:`bdist_pkgtool`), and HP-UX :program:`swinstall`
Expand Down

0 comments on commit 2a854be

Please sign in to comment.