texlive[46932] Master/install-tl-windows.bat: Test for later Windows

commits+siepo at tug.org commits+siepo at tug.org
Mon Mar 12 21:40:42 CET 2018

Revision: 46932
Author:   siepo
Date:     2018-03-12 21:40:42 +0100 (Mon, 12 Mar 2018)
Log Message:
Test for later Windows versions; no more need for UNC mappings

Modified Paths:

Modified: trunk/Master/install-tl-windows.bat
--- trunk/Master/install-tl-windows.bat	2018-03-12 13:05:48 UTC (rev 46931)
+++ trunk/Master/install-tl-windows.bat	2018-03-12 20:40:42 UTC (rev 46932)
@@ -1,17 +1,25 @@
 @echo off
-rem $Id: install-tl.bat 30369 2013-05-10 13:01:27Z siepo $
+rem $Id: install-tl.bat 30369 2018-03-11 13:01:27Z siepo $
 rem Wrapper script to set up environment for installer
 rem Public domain.
 rem Originally written 2009 by Tomasz M. Trzeciak.
-rem First, check if this is DOS based system
-rem in DOS '^' is just a normal character
-if not ^x==x goto DOS
 rem Localize environment changes
-setlocal enableextensions
+setlocal enableextensions enabledelayedexpansion
+rem check for version later than vista
+for /f "usebackq tokens=2 delims=[]" %%I in (`ver`) do set ver_str=%%I
+set ver_str=%ver_str:* =%
+rem windows 9x, 2000, xp, vista unsupported
+if %ver_str:~,2% == 4. goto tooold
+if %ver_str:~,2% == 5. goto tooold
+if %ver_str:~,3% == 6.0 (
+  echo WARNING: Windows 7 is the earliest supported version.
+  echo TeX Live 2018 has not been tested on Windows Vista.
+  pause
 rem version of external perl, if any
 set extperl=0
 for /f "usebackq tokens=2 delims='" %%a in (`perl -V:version 2^>NUL`) do (
@@ -18,20 +26,27 @@
   set extperl=%%a
-rem Batch subroutines require a cd to the batchfile directory.
-rem For UNC paths, pushd will create a temporary mapping.
-pushd "%~dp0"
+rem Check for tex directories on path and remove them.
+rem Need to remove any double quotes from path
+set path=%path:"=%
+rem Break search path into dir list and rebuild w/o tex dirs.
+set path="%path:;=" "%"
+set newpath=
+for /d %%I in (%path%) do (
+  set ii=%%I
+  set ii=!ii:"=!
+  if not exist !ii!\pdftex.exe (
+    if not exist !ii!pdftex.exe (
+      set newpath=!newpath!;!ii!
+    )
+  )
+path %newpath%
+if "%path:~,1%"==";" set "path=%path:~1%"
-rem Remove any double quotes from PATH (why we care for it at all???)
-set "path=%path:"=%"
-rem Break search path into dir list and rebuild w/o tex dirs
-call :rebuildpath ";" "%path:;=" "%"
-if "%path:~0,1%"==";" set "path=%path:~1%"
 rem Use TL Perl
-set "path=%~dp0tlpkg\tlperl\bin;%path%"
-set "PERL5LIB=%~dp0tlpkg\tlperl\lib"
+path %~dp0tlpkg\tlperl\bin;%path%
+set PERL5LIB=%~dp0tlpkg\tlperl\lib
 rem Clean environment from other Perl variables
 set PERL5OPT=
@@ -63,24 +78,9 @@
 goto :eoff
-rem Subroutine to build search path without tex directories 
-rem any dir containing pdftex.exe is considered a tex dir
-:rebuildpath ";" dir list ...
-rem The first argument (";") serves as a marker to reset the path
-if "%~0"==";" set path=
-rem Finish if no more arguments to process
-if [%1]==[] goto :eof
-rem Continue if tex dir
-if exist "%~1\pdftex.exe" goto :rebuildpath
-rem Add dir to path
-set "path=%path%;%~1"
-goto :rebuildpath
-echo DOS and Windows 9x systems are not supported. Sorry.
-echo Windows 2000 or newer is required.
+echo TeX Live does not run on this Windows version.
+echo TeX Live is supported on Windows 7 and later.
-if unc == 1 popd

More information about the tex-live-commits mailing list