summaryrefslogtreecommitdiff
path: root/Master/tlpkg/installer/install-tl-windows.cmd
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/installer/install-tl-windows.cmd')
-rw-r--r--Master/tlpkg/installer/install-tl-windows.cmd207
1 files changed, 207 insertions, 0 deletions
diff --git a/Master/tlpkg/installer/install-tl-windows.cmd b/Master/tlpkg/installer/install-tl-windows.cmd
new file mode 100644
index 00000000000..b9ece1c5e87
--- /dev/null
+++ b/Master/tlpkg/installer/install-tl-windows.cmd
@@ -0,0 +1,207 @@
+@echo off
+rem $Id: install-tl.bat 30369 2018-03-11 13:01:27Z siepo $
+rem Wrapper script to set up environment for installer
+rem
+rem Public domain.
+rem Originally written 2009 by Tomasz M. Trzeciak.
+
+rem Localize environment changes
+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 won't work, vista unsupported but may work
+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 (
+ set extperl=%%a
+)
+
+rem set instroot before %0 gets overwritten during argument processing
+set instroot=%~dp0
+
+rem while this file resides in tlpkg/installer:
+rem alternately remove final backslash and filename part
+rem to arrive at grandparent
+rem retain final backslash
+set instroot=%instroot:~,-1%
+for %%J in (%instroot%) do set instroot=%%~dpJ
+set instroot=%instroot:~,-1%
+for %%J in (%instroot%) do set instroot=%%~dpJ
+
+set notcl=no
+set tcl=yes
+set args=
+goto rebuildargs
+
+rem check for a gui- and lang arguments
+rem handle them here and do not pass them on to perl or tcl.
+rem cmd.exe converts '=' to a space:
+rem '-parameter=value' becomes '-parameter value': two arguments
+
+rem code block for language argument
+:dolang
+shift
+if "%0" == "" goto nomoreargs
+set LANG=%0
+set LC_ALL=
+goto rebuildargs
+
+rem code block for gui argument
+:dogui
+if x%1 == x (
+set tcl=yes
+goto rebuildargs
+)
+if %1 == text (
+set tcl=no
+shift
+goto rebuildargs
+)
+if %1 == wizard (
+set tcl=yes
+shift
+goto rebuildargs
+)
+if %1 == perltk (
+set tcl=yes
+shift
+goto rebuildargs
+)
+if %1 == expert (
+set tcl=yes
+shift
+goto rebuildargs
+)
+if %1 == tcl (
+set tcl=yes
+shift
+goto rebuildargs
+)
+
+rem loop for argument scanning
+:rebuildargs
+shift
+if x%0 == x goto nomoreargs
+set p=%0
+if %p% == --lang goto dolang
+if %p% == -lang goto dolang
+
+if %p% == -print-platform set tcl=no
+if %p% == --print-platform set tcl=no
+if %p% == -version set tcl=no
+if %p% == --version set tcl=no
+if %p% == -no-gui (
+set notcl=yes
+goto rebuildargs
+)
+if %p% == --no-gui (
+set notcl=yes
+goto rebuildargs
+)
+if %p% == -gui goto dogui
+if %p% == --gui goto dogui
+
+rem not a gui- or lang argument: copy to args string
+if "%args%" == "" (
+set args=%p%
+) else (
+set args=%args% %p%
+)
+goto rebuildargs
+:nomoreargs
+
+set p=
+if %notcl% == yes set tcl=no
+
+rem locale detection for tcl
+rem the LANG environment variable should set the tcl default language.
+rem Since reg.exe may be disabled by e.g. company policy,
+rem tcl will yet consult the registry if LANG is not set,
+rem although under some circumstances this may cause a long delay.
+goto endreg
+if %tcl% == no goto endreg
+if not x%LANG% == x goto endreg
+rem reg.exe runnable by user?
+reg /? >nul 2>&1
+goto endreg
+if errorlevel 1 goto endreg
+for /f "skip=1 usebackq tokens=3 delims= " %%a in (`reg query hklm\system\currentcontrolset\control\nls\language /v Installlanguage`) do set lid=%%a
+if errorlevel 1 goto endreg
+for /f "skip=1 usebackq tokens=3 delims=; " %%a in (`reg query hkcr\mime\database\rfc1766 /v %lid%`) do set LANG=%%a
+:endreg
+
+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!
+)
+)
+)
+set ii=
+path %newpath%
+if "%path:~,1%"==";" set path=%path:~1%
+rem Use TL Perl
+path=%instroot%tlpkg\tlperl\bin;%path%
+set PERL5LIB=%instroot%tlpkg\tlperl\lib
+rem for now, assume tcl/tk is on path
+
+rem Clean environment from other Perl variables
+set PERL5OPT=
+set PERLIO=
+set PERLIO_DEBUG=
+set PERLLIB=
+set PERL5DB=
+set PERL5DB_THREADED=
+set PERL5SHELL=
+set PERL_ALLOW_NON_IFS_LSP=
+set PERL_DEBUG_MSTATS=
+set PERL_DESTRUCT_LEVEL=
+set PERL_DL_NONLAZY=
+set PERL_ENCODING=
+set PERL_HASH_SEED=
+set PERL_HASH_SEED_DEBUG=
+set PERL_ROOT=
+set PERL_SIGNALS=
+set PERL_UNICODE=
+set errlev=0
+
+rem Start installer
+if %tcl% == yes (
+rem echo wish "%instroot%tlpkg\installer\install-tl-gui.tcl" -- %args%
+rem pause
+wish "%instroot%tlpkg\installer\install-tl-gui.tcl" -- %args%
+) else (
+rem echo perl "%instroot%install-tl" %args% -no-gui
+rem pause
+perl "%instroot%install-tl" %args% -no-gui
+)
+
+rem The nsis installer will need this:
+if errorlevel 1 set errlev=1
+goto eoff
+
+:tooold
+echo TeX Live does not run on this Windows version.
+echo TeX Live is supported on Windows 7 and later.
+goto eoff
+
+:eoff
+endlocal