Remove wheel hack in windows installer construction script
diff --git a/tools/dev_constraints.txt b/tools/dev_constraints.txt
index 43a27a3d083..2cc2039ea9b 100644
--- a/tools/dev_constraints.txt
+++ b/tools/dev_constraints.txt
@@ -83,10 +83,10 @@ PyGithub==1.52
 Pygments==2.2.0
 pyjwt==1.7.1
 pylint==2.4.3
+pynacl==1.3.0
 # If pynsist version is upgraded, our NSIS template windows-installer/template.nsi
 # must be upgraded if necessary using the new built-in one from pynsist.
-pynacl==1.3.0
-pynsist==2.6
+pynsist==2.7
 pytest==3.2.5
 pytest-cov==2.5.1
 pytest-forked==0.2
diff --git a/windows-installer/windows_installer/construct.py b/windows-installer/windows_installer/construct.py
index 0cec3811b3f..98392304987 100644
--- a/windows-installer/windows_installer/construct.py
+++ b/windows-installer/windows_installer/construct.py
@@ -1,7 +1,6 @@
 #!/usr/bin/env python3
 import ctypes
 import os
-import re
 import shutil
 import struct
 import subprocess
@@ -65,21 +64,6 @@ def _compile_wheels(repo_path, build_path, venv_python):
     command.extend(wheels_project)
     subprocess.check_call(command, env=env)
 
-    # Cryptography uses now a unique wheel name "cryptography-VERSION-cpXX-abi3-win32.whl where
-    # cpXX is the lowest supported version of Python (eg. cp36 says that the wheel is compatible
-    # with Python 3.6+). While technically valid to describe a wheel compliant with the Stable
-    # Application Binary Interface, this naming convention makes pynsist falsely think that the
-    # wheel is compatible with Python 3.6 only.
-    # Let's trick pynsist by renaming the wheel until this is fixed upstream.
-    for file in os.listdir(wheels_path):
-        # Given that our Python version is 3.8, this rename files like
-        # cryptography-VERSION-cpXX-abi3-win32.whl into cryptography-VERSION-cp38-abi3-win32.whl
-        renamed = re.sub(r'^(.*)-cp\d+-abi3-(\w+)\.whl$', r'\1-cp{0}{1}-abi3-\2.whl'
-                         .format(PYTHON_VERSION[0], PYTHON_VERSION[1]), file)
-        print(renamed)
-        if renamed != file:
-            os.replace(os.path.join(wheels_path, file), os.path.join(wheels_path, renamed))
-
 
 def _prepare_build_tools(venv_path, venv_python, repo_path):
     print('Prepare build tools')

In #8649 we added some code to trick pynsist and make it understand that `abi3` wheels for Windows are forward compatible, meaning that the cryptography wheel tagged `cp36-abi3` is in fact compatible with Python 3.6+, and not only Python 3.6.

Since pynsist 2.7 the tool now understand `abi3` wheels properly, and this trick is not needed anymore.

Please note that despite modifying the pynsist pinning in `dev_constraints.txt`, it will have no effect since pynsist currently escape the pinning system. This is handled in https://github.com/certbot/certbot/pull/8749.