Issue #6807: Run msisupport.mak earlier.
diff --git a/Misc/NEWS b/Misc/NEWS
index 3726f97..825c3a7 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -517,6 +517,8 @@
 Build
 -----
 
+- Issue #6807: Run msisupport.mak earlier.
+
 - Issue #10580: Minor grammar change in Windows installer.
 
 - Issue #12627: Implement PEP 394 for Python 2.7 ("python2").
diff --git a/Tools/msi/msi.py b/Tools/msi/msi.py
index 5475bd0..d2caf34 100644
--- a/Tools/msi/msi.py
+++ b/Tools/msi/msi.py
@@ -177,6 +177,8 @@
 have_mingw = build_mingw_lib(lib_file, def_file, dll_file, mingw_lib)
 
 # Determine the target architecture
+if os.system("nmake /nologo /c /f msisupport.mak") != 0:
+    raise RuntimeError("'nmake /f msisupport.mak' failed")
 dll_path = os.path.join(srcdir, PCBUILD, dll_file)
 msilib.set_arch_from_file(dll_path)
 if msilib.pe_type(dll_path) != msilib.pe_type("msisupport.dll"):
@@ -374,8 +376,6 @@
     # UpdateEditIDLE sets the REGISTRY.tcl component into
     # the installed/uninstalled state according to both the
     # Extensions and TclTk features.
-    if os.system("nmake /nologo /c /f msisupport.mak") != 0:
-        raise "'nmake /f msisupport.mak' failed"
     add_data(db, "Binary", [("Script", msilib.Binary("msisupport.dll"))])
     # See "Custom Action Type 1"
     if msilib.Win64: