Issue #6065: Do not try to build a version-independent
installer if the package has extension modules.

Also add NEWS entry for #5311.
diff --git a/Lib/distutils/command/bdist_msi.py b/Lib/distutils/command/bdist_msi.py
index 4272b81..b42e41b 100644
--- a/Lib/distutils/command/bdist_msi.py
+++ b/Lib/distutils/command/bdist_msi.py
@@ -141,6 +141,8 @@
             bdist_base = self.get_finalized_command('bdist').bdist_base
             self.bdist_dir = os.path.join(bdist_base, 'msi')
         short_version = get_python_version()
+        if (not self.target_version) and self.distribution.has_ext_modules():
+            self.target_version = short_version
         if self.target_version:
             self.versions = [self.target_version]
             if not self.skip_build and self.distribution.has_ext_modules()\
diff --git a/Misc/NEWS b/Misc/NEWS
index 2a4d837..a21651b 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -302,6 +302,9 @@
 Library
 -------
 
+- Issue #5311: bdist_msi can now build packages that do not depend on a
+  specific Python version.
+
 - Issue #1309352: fcntl now converts its third arguments to a C `long` rather
   than an int, which makes some operations possible under 64-bit Linux (e.g.
   DN_MULTISHOT with F_NOTIFY).