Do not run symlink setup on Windows.
diff --git a/run_project_tests.py b/run_project_tests.py
index a8d9a5b..49a9608 100755
--- a/run_project_tests.py
+++ b/run_project_tests.py
@@ -1563,17 +1563,23 @@
         print('{0:<{2}}: {1}'.format(tool.tool, get_version(tool), max_width))
     print()
 
-tmpdir1 = list(Path('.').glob('test cases/**/*install functions and follow symlinks'))
-tmpdir2 = list(Path('.').glob('test cases/frameworks/*boost symlinks'))
-assert len(tmpdir1) == 1
-assert len(tmpdir2) == 1
-symlink_test_dir1 = tmpdir1[0]
-symlink_test_dir2 = tmpdir2[0] / 'boost/include'
-symlink_file1 = symlink_test_dir1 / 'foo/link1'
-symlink_file2 = symlink_test_dir1 / 'foo/link2.h'
-symlink_file3 = symlink_test_dir2 / 'boost'
-del tmpdir1
-del tmpdir2
+symlink_test_dir1 = None
+symlink_test_dir2 = None
+symlink_file1 = None
+symlink_file2 = None
+symlink_file3 = None
+
+def scan_test_data_symlinks() -> None:
+    global symlink_test_dir1, symlink_test_dir2, symlink_file1, symlink_file2, symlink_file3
+    tmpdir1 = list(Path('.').glob('test cases/**/*install functions and follow symlinks'))
+    tmpdir2 = list(Path('.').glob('test cases/frameworks/*boost symlinks'))
+    assert len(tmpdir1) == 1
+    assert len(tmpdir2) == 1
+    symlink_test_dir1 = tmpdir1[0]
+    symlink_test_dir2 = tmpdir2[0] / 'boost/include'
+    symlink_file1 = symlink_test_dir1 / 'foo/link1'
+    symlink_file2 = symlink_test_dir1 / 'foo/link2.h'
+    symlink_file3 = symlink_test_dir2 / 'boost'
 
 def clear_transitive_files() -> None:
     a = Path('test cases/common')
@@ -1583,16 +1589,19 @@
         else:
             mesonlib.windows_proof_rm(str(d))
     try:
-        symlink_file1.unlink()
+        if symlink_file1 is not None:
+            symlink_file1.unlink()
     except FileNotFoundError:
         pass
     try:
-        symlink_file2.unlink()
+        if symlink_file2 is not None:
+            symlink_file2.unlink()
     except FileNotFoundError:
         pass
     try:
-        symlink_file3.unlink()
-        symlink_test_dir2.rmdir()
+        if symlink_file3 is not None:
+            symlink_file3.unlink()
+            symlink_test_dir2.rmdir()
     except FileNotFoundError:
         pass
 
@@ -1610,7 +1619,6 @@
         raise SystemExit('Running under CI but $MESON_CI_JOBNAME is not set (set to "thirdparty" if you are running outside of the github org)')
 
     setup_vsenv()
-
     try:
         # This fails in some CI environments for unknown reasons.
         num_workers = multiprocessing.cpu_count()
@@ -1649,8 +1657,11 @@
     if options.native_file:
         options.extra_args += ['--native-file', options.native_file]
 
+    if not mesonlib.is_windows():
+        scan_test_data_symlinks()
     clear_transitive_files()
-    setup_symlinks()
+    if not mesonlib.is_windows():
+        setup_symlinks()
     mesonlib.set_meson_command(get_meson_script())
 
     print('Meson build system', meson_version, 'Project Tests')