diff --git a/Tools/msi/distutils.command.__init__.py b/Tools/msi/distutils.command.__init__.py
deleted file mode 100644
index 83f34b4..0000000
--- a/Tools/msi/distutils.command.__init__.py
+++ /dev/null
@@ -1,32 +0,0 @@
-"""distutils.command
-
-Package containing implementation of all the standard Distutils
-commands."""
-
-__all__ = ['build',
-           'build_py',
-           'build_ext',
-           'build_clib',
-           'build_scripts',
-           'clean',
-           'install',
-           'install_lib',
-           'install_headers',
-           'install_scripts',
-           'install_data',
-           'sdist',
-           'register',
-           'bdist',
-           'bdist_dumb',
-           'bdist_rpm',
-           # This command is not included in this package
-           #'bdist_wininst',
-           'check',
-           'upload',
-           # These two are reserved for future use:
-           #'bdist_sdux',
-           #'bdist_pkgtool',
-           # Note:
-           # bdist_packager is not included because it only provides
-           # an abstract base class
-          ]
diff --git a/Tools/msi/distutils.command.bdist_wininst.py b/Tools/msi/distutils.command.bdist_wininst.py
new file mode 100644
index 0000000..d586e34
--- /dev/null
+++ b/Tools/msi/distutils.command.bdist_wininst.py
@@ -0,0 +1,20 @@
+"""distutils.command.bdist_wininst
+
+Suppresses the 'bdist_wininst' command, while still allowing
+setuptools to import it without breaking."""
+
+from distutils.core import Command
+from distutils.errors import DistutilsPlatformError
+
+class bdist_wininst(Command):
+    description = "create an executable installer for MS Windows"
+
+    def initialize_options(self):
+        pass
+
+    def finalize_options(self):
+        pass
+
+    def run(self):
+        raise DistutilsPlatformError("bdist_wininst is not supported "
+            "in this Python distribution")
diff --git a/Tools/msi/make_zip.py b/Tools/msi/make_zip.py
index 460cd5b..9db96cb 100644
--- a/Tools/msi/make_zip.py
+++ b/Tools/msi/make_zip.py
@@ -75,10 +75,6 @@
     if name in EXCLUDE_FILE_FROM_LIBRARY:
         return False
 
-    # Special code is included below to patch this file back in
-    if [d.lower() for d in p.parts[-3:]] == ['distutils', 'command', '__init__.py']:
-        return False
-
     suffix = p.suffix.lower()
     return suffix not in {'.pyc', '.pyo', '.exe'}
 
@@ -215,8 +211,8 @@
             extra_files = []
             if s == 'Lib' and p == '**/*':
                 extra_files.append((
-                    source / 'tools' / 'msi' / 'distutils.command.__init__.py',
-                    Path('distutils') / 'command' / '__init__.py'
+                    source / 'tools' / 'msi' / 'distutils.command.bdist_wininst.py',
+                    Path('distutils') / 'command' / 'bdist_wininst.py'
                 ))
             copied = copy_to_layout(temp / t.rstrip('/'), chain(files, extra_files))
             print('Copied {} files'.format(copied))
