diff --git a/tools/install.py b/tools/install.py
index 34e257e1d6..2ace19746b 100755
--- a/tools/install.py
+++ b/tools/install.py
@@ -18,6 +18,7 @@ import subprocess
 import sys
 
 WINDOWS = sys.platform.startswith('win')
+MSYS2 = 'MSYSTEM' in os.environ
 
 EXCLUDES = [os.path.normpath(x) for x in '''
 test/third_party
@@ -66,9 +67,9 @@ def copy_emscripten(target):
   excludes = EXCLUDES
   # We have a few launcher scripts that are checked into git still.
   # Exclude the ones not designed for the current platforms.
-  if WINDOWS:
+  if WINDOWS and not MSYS2:
     excludes += [os.path.splitext(l)[0] for l in LAUNCHER_BAT_SCRIPTS]
-  else:
+  elif not MSYS2:
     excludes += LAUNCHER_BAT_SCRIPTS
 
   os.chdir(emscripten_root)
diff --git a/tools/maint/create_entry_points.py b/tools/maint/create_entry_points.py
index b86e8fdb8f..92d57bb47f 100755
--- a/tools/maint/create_entry_points.py
+++ b/tools/maint/create_entry_points.py
@@ -68,7 +68,8 @@ def make_executable(filename):
 
 def main(all_platforms):
   is_windows = sys.platform.startswith('win')
-  do_unix = all_platforms or not is_windows
+  is_msys2 = 'MSYSTEM' in os.environ
+  do_unix = all_platforms or not is_windows or is_msys2
   do_windows = all_platforms or is_windows
 
   def generate_entry_points(cmd, path):
