[tex-live] Updating tlmgr on Windows 7

Martin Schröder martin at oneiros.de
Thu Jan 27 17:30:55 CET 2011


2011/1/27 T T <t34www at googlemail.com>:
> Are you sure it crashes or simply terminates?  On windows tlmgr has to

No.

> quit, because it can't be updated while running.  What happens is that
> tlmgr makes a special batch update script on windows
> (C:\texlive\2010\temp\updater-w32.bat), which is run after it quits.
> Can you send us this script (if it's there)?  (Change extension from
> .bat to .txt or your email client may filter it).

Attached.

> Norbert, the info "Critical updates have been installed" in the dialog
> is not quite true for windows ;)

And it should be localized. :-)

Best
   Martin
-------------- next part --------------
:: This file is part of an automated update process of
:: infrastructure files and should not be run standalone. 
:: For more details about the update process see comments 
:: in tlmgr.pl (subroutine write_w32_updater).

  if [%1]==[:doit] goto :doit
  if not exist "%~dp0tar.exe" goto :notar
  cmd.exe /e:on/v:off/d/c call "%~f0" :doit 1^>^&2
  rem
  goto :eof

:notar
  echo %~nx0: cannot run without "%~dp0tar.exe"
  findstr "^::" <"%~f0"
  exit /b 1

:doit
  set prompt=TL$G
  title TeX Live Manager 2010 Update
  set PERL5LIB=C:/texlive/2010/tlpkg/tlperl/lib
  >con echo DO NOT CLOSE THIS WINDOW!
  >con echo TeX Live infrastructure update in progress ...
  >con echo Detailed command logging to STDERR
  chdir /d "%~dp0.."
  if not errorlevel 1 goto :update
  >con echo Could not change working directory to "%~dp0.."
  >con echo Aborting infrastructure update, no changes have been made.
  >con rem 
  exit /b 1
    
:update
  for %%I in (texlive.infra.tar texlive.infra.doc.tar) do (
    temp\tar.exe -xf temp\%%I
    if errorlevel 1 goto :rollback
  )
  tlpkg\tlperl\bin\perl.exe .\texmf\scripts\texlive\tlmgr.pl _include_tlpobj tlpkg\tlpobj\texlive.infra.tlpobj tlpkg\tlpobj\texlive.infra.doc.tlpobj
  if errorlevel 1 goto :rollback
  >>"C:/texlive/2010/texmf-var/web2c/tlmgr.log" echo [%date% %time%] self update: texlive.infra ^(20974 -^> 20975^)
  >con echo self update: texlive.infra ^(20974 -^> 20975^)
  del "%~dp0*.tar" "%~dp0tar.exe" 
  >con echo Infrastructure update finished successfully.
  >con echo You may now close this window.
  >con rem 
  exit /b 0

:rollback
  >>"C:/texlive/2010/texmf-var/web2c/tlmgr.log" echo [%date% %time%] failed self update: texlive.infra ^(20974 -^> 20975^)
  >con echo failed self update: texlive.infra ^(20974 -^> 20975^)
  >con echo Rolling back to previous version ...
  for %%I in (__BACKUP_texlive.infra.r20974.tar) do (
    temp\tar.exe -xf temp\%%I
    if errorlevel 1 goto :panic
  )
  tlpkg\tlperl\bin\perl.exe .\texmf\scripts\texlive\tlmgr.pl _include_tlpobj tlpkg\tlpobj\texlive.infra.tlpobj
  if errorlevel 1 goto :panic
  >>"C:/texlive/2010/texmf-var/web2c/tlmgr.log" echo [%date% %time%] self restore: texlive.infra ^(20974^)
  >con echo self restore: texlive.infra ^(20974^)
  >con echo Infrastructure update failed. Previous version has been restored.
  >con rem 
  exit /b 1

:panic
  >>"C:/texlive/2010/texmf-var/web2c/tlmgr.log" echo [%date% %time%] failed self restore: texlive.infra ^(20974^)
  >con echo failed self restore: texlive.infra ^(20974^)
  >con echo FATAL ERROR:
  >con echo Infrastructure update failed and backup recovery failed too.
  >con echo To repair your TeX Live installation download and run:
  >con echo http://mirror.ctan.org/systems/texlive/tlnet/update-tlmgr-latest.exe
  >con rem 
  exit /b 666


More information about the tex-live mailing list