summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSiep Kroonenberg <siepo@cybercomm.nl>2017-06-29 09:56:32 +0000
committerSiep Kroonenberg <siepo@cybercomm.nl>2017-06-29 09:56:32 +0000
commit687aad96931a20c6c6f1cf9596b71a8a3e8d5e5d (patch)
treec0c8e214d8867fa4783de6460e6787b91b1e1161
parent70d02b2e5e4eebdcfde9e8f1f287d41ef5b22584 (diff)
Tlaunch: new remember option and minor changes
git-svn-id: svn://tug.org/texlive/trunk@44721 c570f23f-e606-0410-a88d-b1316a301751
-rwxr-xr-xMaster/bin/win32/tlaunch.exebin114688 -> 117760 bytes
-rw-r--r--Master/source/tlaunch-0.5.2-src.zipbin67267 -> 0 bytes
-rw-r--r--Master/source/tlaunch-0.5.3-src.zipbin0 -> 69371 bytes
-rw-r--r--Master/source/tlaunch.README15
-rw-r--r--Master/texmf-dist/doc/support/tlaunch/Changes11
-rw-r--r--Master/texmf-dist/doc/support/tlaunch/figures/custom_ed.pngbin62729 -> 45360 bytes
-rw-r--r--Master/texmf-dist/doc/support/tlaunch/rug.zipbin10650 -> 10600 bytes
-rw-r--r--Master/texmf-dist/doc/support/tlaunch/tlaunch.pdfbin354307 -> 330268 bytes
-rw-r--r--Master/texmf-dist/doc/support/tlaunch/tlaunch.tex291
-rw-r--r--Master/texmf-dist/web2c/tlaunch.ini16
10 files changed, 175 insertions, 158 deletions
diff --git a/Master/bin/win32/tlaunch.exe b/Master/bin/win32/tlaunch.exe
index 589da750271..ccb7d19fc63 100755
--- a/Master/bin/win32/tlaunch.exe
+++ b/Master/bin/win32/tlaunch.exe
Binary files differ
diff --git a/Master/source/tlaunch-0.5.2-src.zip b/Master/source/tlaunch-0.5.2-src.zip
deleted file mode 100644
index c5f57aebadc..00000000000
--- a/Master/source/tlaunch-0.5.2-src.zip
+++ /dev/null
Binary files differ
diff --git a/Master/source/tlaunch-0.5.3-src.zip b/Master/source/tlaunch-0.5.3-src.zip
new file mode 100644
index 00000000000..17b2e61b5ef
--- /dev/null
+++ b/Master/source/tlaunch-0.5.3-src.zip
Binary files differ
diff --git a/Master/source/tlaunch.README b/Master/source/tlaunch.README
index 43ae90c582b..bc31b1eb368 100644
--- a/Master/source/tlaunch.README
+++ b/Master/source/tlaunch.README
@@ -1,15 +1,16 @@
I cross-compiled tlaunch on successive versions of Ubuntu Linux,
-using the mingw packages gcc-mingw-w64-base, gcc-mingw-w64-i686,
-g++-mingw-w64-i686, mingw-w64-common, mingw-w64-i686-dev and
+using the mingw packages binutils-mingw-w64-i686,
+gcc-mingw-w64-base, gcc-mingw-w64-i686, g++-mingw-w64-i686,
+mingw-w64-common, mingw-w64-i686-dev, mingw-w64-tools,
binutils-mingw-w64-i686 and the included Makefile and cross-make
shell script.
Occasionally I needed to run the gdb debugger. Although Ubuntu does
have a cross-debugger, I opted for native compilation and native
-debugging, using mingw gcc and gdb from the Strawberry Perl project
-at http://strawberryperl.com/package/kmx/ . I compiled with the
-batchfile makewin.cmd, which does not use make and does not bother
-with dependency checking.
+debugging, using mingw-i686-6.3.0-release-posix-dwarf-rt_v5-rev2.7z
+from https://sourceforge.net/projects/mingw-w64/. I compiled with
+the batchfile makewin.cmd, which does not use make but simply
+compiles everything.
For the shell script cross-make, check that the CROSS environment
variable is right for your system.
@@ -18,4 +19,4 @@ For the batchfile makewin.cmd, check that the mingw environment
variable points to the root of your mingw installation.
Siep Kroonenberg, siepo at cybercomm dot nl
-Groningen, January 2017
+Groningen, June 2017
diff --git a/Master/texmf-dist/doc/support/tlaunch/Changes b/Master/texmf-dist/doc/support/tlaunch/Changes
index 288e3990219..148a5624669 100644
--- a/Master/texmf-dist/doc/support/tlaunch/Changes
+++ b/Master/texmf-dist/doc/support/tlaunch/Changes
@@ -1,4 +1,13 @@
-2017-02-01 Siep Kroonenberg <siepo@cybercomm.nl> Release 0.5.2
+2017-06-29 Siep Kroonenberg <siepo@cybercomm.nl> Release 0.5.3
+
+ * Remember command-line option: restores file associations on login
+ * Better path handling: avoid duplicate entries in user path
+ * Save overwritten filetype associations as secondary ProgID
+ * Less rudimentary command-line parser, supporting more keywords
+ * Cancel button for editor choice dialog
+ * Manifest: added explicit support for all windows versions >= 7
+
+2017-03-09 Siep Kroonenberg <siepo@cybercomm.nl> Release 0.5.2
* Various silent command-line options added
* Updated documentation
diff --git a/Master/texmf-dist/doc/support/tlaunch/figures/custom_ed.png b/Master/texmf-dist/doc/support/tlaunch/figures/custom_ed.png
index 589802427cc..566ffda27d4 100644
--- a/Master/texmf-dist/doc/support/tlaunch/figures/custom_ed.png
+++ b/Master/texmf-dist/doc/support/tlaunch/figures/custom_ed.png
Binary files differ
diff --git a/Master/texmf-dist/doc/support/tlaunch/rug.zip b/Master/texmf-dist/doc/support/tlaunch/rug.zip
index 8e0b16d33d5..be2f0a383ba 100644
--- a/Master/texmf-dist/doc/support/tlaunch/rug.zip
+++ b/Master/texmf-dist/doc/support/tlaunch/rug.zip
Binary files differ
diff --git a/Master/texmf-dist/doc/support/tlaunch/tlaunch.pdf b/Master/texmf-dist/doc/support/tlaunch/tlaunch.pdf
index 9d0167a08d4..e8de54dbdd2 100644
--- a/Master/texmf-dist/doc/support/tlaunch/tlaunch.pdf
+++ b/Master/texmf-dist/doc/support/tlaunch/tlaunch.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/support/tlaunch/tlaunch.tex b/Master/texmf-dist/doc/support/tlaunch/tlaunch.tex
index 923e176cfa6..bda23690631 100644
--- a/Master/texmf-dist/doc/support/tlaunch/tlaunch.tex
+++ b/Master/texmf-dist/doc/support/tlaunch/tlaunch.tex
@@ -1,16 +1,12 @@
\documentclass[11pt,a4paper,oneside]{report}
-% narrow margins, same layout
+% narrow margins, otherwise same layout as default
\AtBeginDocument{%
\paperwidth\textwidth
\advance\paperwidth48bp
\oddsidemargin-48bp
\paperheight\textheight
\advance\paperheight48bp
- % no header
- %\headheight=0bp
- %\headsep=0bp
- % otherwise:
\advance\paperheight\headheight
\advance\paperheight\headsep
\advance\paperheight\footskip
@@ -19,10 +15,24 @@
\pdfpageheight=\paperheight
}
+\makeatletter
+\long\def\@makecaption#1#2{%
+ \vskip\abovecaptionskip
+ \sbox\@tempboxa{\small \textbf{#1:} #2}%
+ \ifdim \wd\@tempboxa >\hsize
+ {\small \textbf{#1:} #2\par}
+ \else
+ \global \@minipagefalse
+ \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
+ \fi
+ \vskip\belowcaptionskip}
+\makeatother
+
% fonts
\usepackage{tgpagella}
\let\slshape\itshape
\usepackage[TS1,T1]{fontenc}
+
\usepackage{array,textcomp,graphicx}
\setcounter{secnumdepth}{2}
\setcounter{tocdepth}{2}
@@ -61,7 +71,6 @@
\def\hklm{\textsc{hklm}}
%\def\hkcr{HKEY\_\dbr CLASSES\_\dbr ROOT}
\def\hkcr{\textsc{hkcr}}
-\newcommand\vspc{\vspace{6pt}}
\newenvironment{ttdesc}{%
\def\descriptionlabel##1{\hspace\labelsep\ttfamily\selectfont ##1}%
\description}{\enddescription}
@@ -75,7 +84,7 @@
\thispagestyle{empty}
\null\vfill
{\small\parindent=0pt
-This manual is for tlaunch, the \TL{} Launcher, version 0.5.2.
+This manual is for tlaunch, the \TL{} Launcher, version 0.5.3.
Copyright \textcopyright{} 2017 Siep Kroonenberg.
@@ -101,15 +110,16 @@ without any warranty.\par}
\section*{About this document}
-This document is about the \TL{} launcher. The first chapter
-describes the launcher in general.
+This manual documents the \TL{} Launcher. The first chapter
+describes the launcher in general, its facilities, its ini file and
+its command-line parameters.
The second chapter describes the launcher-based installation at the
-\RUG, or Rijksuniversiteit Groningen, as an example of what can be
-done with a launcher-based installation.
+\RUG, or Rijksuniversiteit Groningen, as an example
+launcher-based installation.
-Finally, since many \TeX{} developers spend as little time as they
-can help in a Windows environment, I added an appendix with Windows
+Since many \TeX{} developers spend as little time as they can help
+in a Windows environment, I also added an appendix with Windows
background information.
\section{Introduction}
@@ -126,7 +136,7 @@ is added to the searchpath, and relevant filetype associations are
set up.
This means that the launcher rather than the classic \TL{} installer
-takes care of all Windows-specific configuration. Which is a good
+takes care of Windows-specific configuration. Which is a good
thing if the \TL{} directory tree is on a shared network drive, or
if a \TL{} installation has to be copied to many workstations.
@@ -136,7 +146,10 @@ is described in section \ref{sec:config} of this chapter. The
supplied ini file provides something more or less equivalent to a
classic Windows \TL{} installation.
-Although at the moment the launcher contains no support for
+\subsection{Localization}
+\label{sec:localize}
+
+Although at the moment the launcher lacks proper support for
localization, most of the user interface strings are defined in the
ini file and can be replaced with strings in other languages.
@@ -148,7 +161,7 @@ ini file and can be replaced with strings in other languages.
In a normal run, the launcher displays a window with a menu or a
series of buttons or both, see figure \ref{fig:launcher}. For
-anything launched via these controls, \TL{} is prepended to the
+anything launched via these controls, \TL{} is prepended to its
process searchpath irrespective of the system- or user
searchpath; see Appendix \ref{sec:env} on Windows searchpath
handling.
@@ -197,8 +210,6 @@ cleanup; see the \texttt{pre\_config}, \texttt{post\_config} and
before.
\item Giving \TeX works some spelling dictionaries
\item Writing configuration data for non-\TL{} components
- \item Generating or updating the \XeTeX{} font cache, assuming
- that the font cache directory is user-writable
\item Adjusting \XeTeX{} font configuration, see Section
\ref{sec:xecache}
\end{itemize}
@@ -221,8 +232,8 @@ In \TL, the binary is in the \TL{} binary directory,
created a modified higher-priority copy in
\texttt{\emph{tlroot}/texmf-var/web2c}. A custom
\texttt{tlaunch.ini} in \texttt{\emph{tlroot}/texmf-config/web2c}
-will override either. In this case, do not forget to update the
-filename database.
+will override either. In this case, the filename database should be
+updated.
Another option is to place both the binary and the ini file in the
root of the \TL{} installation.
@@ -255,8 +266,9 @@ possible sections satisfies this requirement.
However, it is not necessary that everything that is referred to
actually exists; if a menu- or button control refers to a
non-existent file, the control is quietly left out, and if the
-\texttt{COMMAND} of a filetype refers to a non-existent file the
-filetype registry key is created but remains empty.
+\texttt{COMMAND} of a filetype refers to a non-existent file then
+neither the filetype registry entry nor any control for it will be
+created.
The ini file can contain the following sections:
@@ -264,20 +276,21 @@ The ini file can contain the following sections:
\label{sec:strings}
\begin{table}[tb]
- \small\centering
+ \centering
+{\small
\extrarowheight3pt\sffamily\noindent
-\begin{tabular}{|>{\ttfamily}llP{2.3in}|}
+\begin{tabular}{|>{\ttfamily}llP{2in}|}
\hline
& DEFAULT & MEANING \\
tlroot & predefined & root of the \TL{} installation \\
version & predefined & release year \\
tlperl & predefined & path of the built-in Perl binary \\
- tlwperl & predefined & same for the \GUI{} binary \\
+ tlwperl & predefined & same for the \GUI{} Perl binary \\
java & predefined & Java binary, if found \\
tlconfig & required & directory for the launcher's user data, see \emph{e.g.}
sections \ref{sec:strings} and Appendix \ref{sec:known_configs} \\
- tlname & TeX Live \%version\% & used for \emph{e.g.} window title and
- uninstaller `DisplayName' \\
+ tlname & \texttt{TeX Live \%version\%} & used for \emph{e.g.}
+ window title and uninstaller `DisplayName' \\
customed\_progid & \texttt{TL.customed} & Filetype
for external, user-selected editor, see section \ref{sec:fta} \\
pre\_config & empty & optional program or script to be run before
@@ -291,23 +304,23 @@ The ini file can contain the following sections:
\end{tabular} \\[3pt]
Note. All process environment variables, \emph{e.g.}
\texttt{\%appdata\%}, are accessible while the
-launcher parses the ini file. Variable names are case-insensitive.
+launcher parses the ini file. Variable names are case-insensitive.\par}
\caption{Strings with a special meaning in the ini file}
\label{tab:strings}
\end{table}
In this section arbitrary strings can be defined to be used later
-during parsing. The names of the strings are case-insensitive, their
-values are not. Various strings have a special meaning, see Table
-\ref{tab:strings}. Their values may be predefined, \emph{i.e.} they
-are set by the launcher before processing the ini file, and should
-not be tampered with; they may be required, or they are allowed to
-stay empty.
-
-At least \texttt{TLCONFIG} should be defined in the ini file. This
-is the directory for launcher user files such as the
- forgetter. A few suggestions:
+during parsing. The names of the string variables are
+case-insensitive, their values are not. Various strings have a
+special meaning, see Table \ref{tab:strings}. Their values may be
+predefined, \emph{i.e.} they are set by the launcher before
+processing the ini file; they may be required, or they are allowed
+to stay empty.
+
+At a minimum, the \texttt{TLCONFIG} string should be defined in the
+ini file. This is the directory for launcher user files such as the
+forgetter. A few suggestions:
\begin{itemize}
\item \texttt{\%UserProfile\%\bsl.texlive\%version\%\bslb tlaunch},
\emph{i.e.} under the common root of \texttt{\%TEXMFVAR\%} and
@@ -347,10 +360,11 @@ The commented lines are optional and represent default values.
\item [COMMAND] is the command to start the program.
\item [SHELL\_CMD] is the command to open a file. The default is
\texttt{COMMAND} with `\texttt{~"\%1"}' appended.
-\item[ICON] is the icon to be used in GUI file managers. The
- default is \texttt{COMMAND} with `\texttt{,0}' appended, without a
+\item[ICON] is the icon to be used in GUI file managers. The default
+ is \texttt{COMMAND} with `\texttt{,0}' appended, without a
space. If there is no such icon then a fall-back icon will be
- used; see the right-most icon in Figure \ref{fig:launcher}.
+ used; see \emph{e.g.} the right-most icon in Figure
+ \ref{fig:launcher}.
\item[NAME] is only used for \LaTeX{} editors, in the
editor-selection window, see section \ref{sec:edsel}. If not
specified, it will be derived from the program filename.
@@ -360,7 +374,7 @@ The commented lines are optional and represent default values.
shows up in the Open with... dialog. Mainly of interest for the
bitmap2eps utility. See appendix \ref{sec:wftas} on primary and
secondary filetypes.
-\item[PATH\_PREFIX] is default 0. If set to 1, then Windows will
+\item[PATH\_PREFIX] is default 0. If set to 1, Windows will
prepend \TL{} to the program's searchpath. The launcher will only
do this if \texttt{COMMAND} is a bare or quoted filename, without
options or parameters; see Appendix \ref{sec:appreg}.
@@ -376,17 +390,14 @@ when the script has completed. Standard error is also captured, but
shows up only in the log file \texttt{\%TEMP\%\bslb TeXLive\_\dbr
Launcher.\dbr log}. A splash text is displayed while the script is
running. The default value for the splash text is `Working...'. An
-example:
+example adapted from the \RUG{} installation:
\begin{verbatim}
-[SC:XeTeX-fontcache]
-command=fc-cache -v
-splash=Creating or updating XeTeX font cache
+[SC:TNC_config]
+command=cscript "%TLROOT%\rugscripts\tnc_config.vbs" "%tlroot%"
+;splash=Reconfiguring TeXnicCenter...
\end{verbatim}
-This item is included in the default ini file, although it may not
-work out of the box on a multi-user installation. Section
-\ref{sec:xecache} describes how to get it to work, and the
-\texttt{tlaunchmode} script, see section \ref{sec:tlaunchmode}, will
-take care of this automatically.
+In this example, the script takes just a moment, so there is no
+point in defining a splash text.
\subsection{The built-in functions}
\label{sec:fun}
@@ -428,14 +439,13 @@ In a submenu section, a sole `\texttt{=}' will produce a separator
line. In the button section, it will do nothing.
{\sloppy
-Example buttons- and submenu sections (see section
-\ref{sec:utscripts} for the \texttt{SC:XeTeX-fontcache} entry):
+Example buttons- and submenu sections:
\begin{verbatim}
[MN:Tools]
Editor choice=FU:editor_select
TeX Live Command Prompt=%comspec% /T "TeX Live" /e:on
=
-Generate/Refresh xetex font database=SC:XeTeX-fontcache
+(Re)configure TeXnicCenter=SC:TNC_config
[MN:Documentation]
All TeX Live documentation by package=SO:%tlroot%\doc.html
@@ -451,7 +461,8 @@ Quit=FU:quit
\subsection{The General section}
\label{sec:gen}
-This section is optional. Three keywords are allowed:
+This section is optional. Four keywords are allowed, of which the
+first two correspond to \TL{} installer options:
\begin{ttdesc}
\item[Filetypes] Allowed values are
\begin{itemize}
@@ -464,8 +475,12 @@ This section is optional. Three keywords are allowed:
\item[searchpath] {\sloppy Allowed values are 0 (leave searchpath
alone) and 1 (add \TL{} to the searchpath; default). See
appendix \ref{sec:env}. In any case, when a program is started
- from the launcher it will have \TL{} prepended to the process
+ from the launcher it will have \TL{} prepended to its process
searchpath.\par}
+\item[remember] Allowed values are 0 (do nothing) and 1 (arrange
+ that \TeX-related filetype associations are restored on
+ login). This may be desirable in a Roaming Profiles setup, see
+ sections \ref{sec:roam} and \ref{sec:noroam}.
\item[keeptemps] Allowed values are 0 (delete temporary files;
default) and 1 (keep them). This is a debug option for running
external scripts. In most cases however, the contents of the
@@ -512,7 +527,7 @@ configure another filetype string in the ini file, \emph{e.g.} one
which includes the \texttt{\%VERSION\%} string.
Appendix \ref{sec:userchoice} explains why a \texttt{.tex} file
-might still get opened in the previous editor.
+might still get opened in another editor.
\section{Launcher-based installations}
\label{sec:lbased}
@@ -526,16 +541,14 @@ In installation mode, it is assumed that the launcher and its ini
file are already in place as part of the regular \TL{}
installation.
-Installation and uninstallation are triggered by command-line
+The launcher can be invoked with the following command-line
parameters:
\begin{ttdesc}
\item[user\_inst] Install the launcher for a single user. This
includes doing the first-time initialization as in a regular
- invokation.
-\item[user\_inst\_silent] Silent single-user install
+ invocation.
\item[admin\_inst] Install the launcher for all users
-\item[admin\_inst\_silent] Silent multi-user install
\item[uninst] Undo installation but leave the \TL{}
directory tree alone. Also runs the forgetter for the current
user silently, if it exists.
@@ -543,8 +556,18 @@ parameters:
tree. Also runs the forgetter for the current user silently, if it
exists. This is the only option of these four which touches the
\TL{} installation itself.
-\item[silent] (Only for the forgetter) Remove settings silently
+\item[remember] Recreate filetype associations, see sections
+ \ref{sec:roam} and \ref{sec:noroam}.
+\item[silent] Do not ask for confirmation and do not pop up
+ messages. Output is still written to the log file, at
+ \texttt{\%TEMP\%\bslb TeXLive\_\dbr Launcher.\dbr log}.
\end{ttdesc}
+The \texttt{user\_inst\_silent} and \texttt{admin\_inst\_silent} are
+also still available.
+
+The non-silent uninstall options both ask which of the two uninstall
+options is desired. the only difference between them is which button
+is the default.
The new launcher mode option of the 2017 \TL{} installer invokes the
launcher with one of the silent installer options.
@@ -554,10 +577,10 @@ Within the launcher, there are functions \texttt{FU:uninst\_all} and
control. If necessary, the launcher will pop up a \textsc{uac}
prompt and restart in elevated mode.
-If for either the path setting option or the file associations
-option a non-default value was selected, the \TL{} installer creates
-a higher-priority \texttt{tlaunch.ini} with corresponding settings,
-even if launcher mode was not selected.
+The \TL{} installer may create a higher-priority
+\texttt{tlaunch.ini} if for either the path setting option or the
+file associations option a non-default value was selected. This will
+happen even if launcher mode was not selected.
\subsection{The tlaunchmode script}
\label{sec:tlaunchmode}
@@ -588,18 +611,18 @@ will automatically pop up a \textsc{uac} prompt.
\label{fig:launcher_rug}
\end{figure}
-This chapter is about the launcher-based \TL{} installation at the
+This chapter deals with the launcher-based \TL{} installation at the
\RUG{} (Rijksuniversiteit Groningen) and the environment in which it
operates.
Our \TL{} installation resides on the network. The \TL{} Launcher
-is available via the start menu, and anybody on the university
-network can click the launcher shortcut and start using \TeX{}.
+is available via a centrally managed start menu. From any Windows
+workstation connected to the network, one can click the launcher
+shortcut in this menu and start using \TeX{}.
The files in the \texttt{tlrug.zip} zipfile are tidied up versions
-of those of the \RUG{} installation: compared to the files actually
-in use, they benefit from hindsight and omit ugly workarounds for
-specific local problems.
+of those of the \RUG{} installation; they omit some ugly workarounds
+for specific local problems and also benefit from hindsight.
\section{Historical}
@@ -608,15 +631,16 @@ scripts in various languages. An initialization script created
filetype associations, Start Menu shortcuts and modified the
searchpath. It made use of the built-in Perl and its \TL{} modules.
-However, some people got confused that the generated \TL{} menu was
-in one place, \emph{viz.} in the conventional Start / Programs menu,
-and the initializer script in the centrally maintained `RUG menu'.
-
When between 2013 to 2014 the university transitioned to centrally
managed desktops, using the RES workspace management
system\footnote{Real Enterprise Solutions,
- \texttt{https://res.com/}}, I created the launcher. For speed of
-development, a first version was written in the
+ \texttt{https://res.com/}}, I created the launcher. Because
+previously users might run the initializer / installer when they
+really want to run the already initialized / installed \TL, I opted
+this time for a launcher that configures itself automatically,
+without requiring a separate initialization step.
+
+For speed of development, a first version was written in the
AutoIT\footnote{\texttt{https://\dbr www.\dbr autoitscript.\dbr
com/}} scripting language. AutoIT has good access to Windows'
internals, and comes with a utility which packages a script with a
@@ -642,8 +666,8 @@ most of the time.
For \TL, I submit a wish list of settings to be captured to the
workspace management people, and they enter everything into the RES
system. Unfortunately, the RES system has its quirks, and what I
-expect to happen is not always what actually does happen. But this
-is not the place to expand on my trials and tribulations with RES.
+expect to happen is not always what actually does happen. Some of
+these problems are mentioned later on.
\section{Components of the \RUG{} \TeX{} installation}
\label{sec:comps}
@@ -670,8 +694,6 @@ There are also controls for:
\item browsing the \TL{} installation
\item a command-prompt with \TL{} as the first directory on the
searchpath
-\item generating or updating a \XeTeX{} font cache; see Section
- \ref{sec:xecache}
\item some manuals from the \TL{} installation
\item links to \TeX-related websites
\end{itemize}
@@ -694,9 +716,9 @@ extras. There is another subdirectory for the various scripts. All
paths in both the ini file and the scripts are relative to the root
of the installation.
-I did not put anything into the existing subdirectories of the \TL{}
-installation, and put both the binary and the ini file in the root
-of the installation.
+I placed both the binary and the ini file in the root of the
+installation, but did not place anything into existing \TL{}
+subdirectories.
\section{Fixes for add-ons}
\label{sec:fixes}
@@ -713,9 +735,9 @@ anyone to switch editors, I also kept \TNC{} around.
While \TNC{} can autoconfigure itself nicely for MikTeX, it asks
\TL{} users a series of questions about what is where. Since many
-users are only vaguely aware of directories beyond their home
-directory, I wrote a vbscript which emulates the MiKTeX
-autoconfiguration for \TL{} and avoids awkward questions.
+users do not know their way around outside their home directory, I
+wrote a vbscript which emulates the MiKTeX autoconfiguration for
+\TL{} and spares the user awkward questions.
\subsection{\TS}
\label{sec:ts}
@@ -723,7 +745,7 @@ autoconfiguration for \TL{} and avoids awkward questions.
\TS{} autoconfigures itself fine, but there were still two problems:
\begin{enumerate}
\item By default, it checks whether there is a more recent version,
- while users are not in a position to do an update.
+ while users are not in a position to do an update themselves.
\item With our current desktop management software, programs do not
get the user searchpath appended to their process searchpath.
\end{enumerate}
@@ -733,21 +755,20 @@ created with just the setting not to check for updates. If there is
one, the update check option is edited to be off. Either way, there
is no impact on other settings.
-A solution for the second problem is described in Appendix
-\ref{sec:appreg}.\footnote{In the current \RUG{} installation, \TS{}
- is started instead via a small wrapper program.}
+A possible solution for the second problem is described in Appendix
+\ref{sec:appreg}, but I opted instead to start \TS{} via a small
+wrapper program.
-Note that TeXworks, Dviout and PSV[iew] are invoked via the \TL{}
-runscript wrapper, which takes care of the searchpath, among other
-things.
+Note that the \TL{} runscript wrapper does already take care of the
+searchpath for TeXworks, Dviout and PSV[iew].
\subsection{SumatraPDF}
\label{sec:sumatra}
In the absence of any registry settings, SumatraPDF assumes that it
is a portable setup, and tries to write user configuration to its
-own directory. Following advise from its developers, I created a
-registry setting to convince SumatraPDF otherwise, and let it write
+own directory. Following advice from its developers, I created a
+registry setting to tell SumatraPDF otherwise, and let it write
its configuration data to the user's profile.
Checks for updates are disabled in a similar way as for \TS.
@@ -775,20 +796,23 @@ The default location of the \XeTeX{} font cache in \TL{} is
\texttt{\$TEXMFYSVAR/\dbr fonts/\dbr cache}, \emph{i.e.}
\texttt{\emph{tlroot}/\dbr texmf-var/\dbr fonts/\dbr cache}. In a
multi-user or network install, this location is not
-user-writable. Since this was a problem, a line
+user-writable. Since this may be a problem,\footnote{\emph{E.g.} if
+ the set of Windows fonts changes, \XeTeX{} will try to update the
+ font cache but will not be able to save the updated cache.} a line
\begin{verbatim}
FC_CACHEDIR = $TEXMFVAR/fonts/cache
\end{verbatim}
-in the file \texttt{\emph{tlroot}/\dbr texmf.cnf} moved the cache to a
-user-writable location.
+in the file \texttt{\emph{tlroot}/\dbr texmf.cnf} will move the
+cache to a user-writable location. The \texttt{tlaunchmode} script,
+see section \ref{sec:tlaunchmode}, will take care of this
+automatically.
Since I generate the \TL{} installation on a Linux system, the
configured \TL{} font paths in \texttt{\$TEXMFSYSVAR/\dbr fonts/\dbr
conf/\dbr fonts.conf} do not match the target installation. Of
-course this generated file can be hand-edited, but a less
-error-prone solution is to leave this file alone and move the font
-configuration files also to a user-writable location with another
-line:
+course this generated file can be hand-edited, but I preferred to
+leave this file alone and move the font cache configuration files
+also to a user-writable location with another line:
\begin{verbatim}
FONTCONFIG_PATH = $TEXMFVAR/fonts/conf
\end{verbatim}
@@ -801,29 +825,10 @@ is then created by a line
\end{verbatim}
(one line) in a post-config script, see section \ref{sec:scripts}.
-The last parameter , \emph{viz.} \texttt{skip\_gen}, suppresses
-actual cache generation, since that might take quite some time. Any
-non-null value would have had the same effect.
-
-\section{Fixing non-roaming filetype associations}
-\label{sec:fixroam}
-
-Before RES (see Section \ref{sec:res}), and before the launcher, the
-\TL-related filetype associations would not follow the user from
-desktop to desktop; see also Appendix \ref{sec:wftas}. This was
-solved with a batchfile which restored missing file associations. By
-placing a shortcut to this batchfile in the Start / All Programs /
-Startup menu, this batchfile would automatically run at
-logon. However, RES made this workaround unnecessary.
-
-For situations where non-roaming file associations are still a
-problem, I intend to add a `reassoc' mode to the forgetter. The
-forgetter is already in place and knows how to parse the ini
-file. With the reassoc option, the forgetter will silently recreate
-missing filetypes. If \TL{} or the launcher is missing it will do
-nothing. There will be an option in the ini file to enable or
-disable creation of such a shortcut to the forgetter, in its role as
-rememberer.
+The last parameter, \emph{viz.} \texttt{skip\_gen}, suppresses
+actual cache generation, since that might take quite some time and
+only benefit \XeTeX{} users. Any non-null value would have had the
+same effect.
\appendix
@@ -851,7 +856,7 @@ happen to be working on. This is accomplished by either `folder
redirection', \emph{i.e.} defining network locations for certain
dedicated directories (see `Known Folders' in Appendix
\ref{sec:known}), or by copying user data back and forth between
-workstation and network on logon and logoff. There may also be a
+workstation and network on logoff and logon. There may also be a
dedicated network share for user documents which is accessible from
any computer, and which may do double duty as home to redirected
folders.
@@ -922,20 +927,34 @@ Secondary filetype associations can be stored in a subkey of the
extension subkey, either the \texttt{OpenWithList} (obsolete) or
the \texttt{OpenWithProgIds} subkey.
-Unfortunately, these user-level filetype associations do not roam.
-With the RES desktop management system, this is no longer a problem
-for us. But a future version of the launcher will contain a
-workaround for other environments; see section \ref{sec:fixroam}.
+\subsection{Non-roaming filetype associations}
+\label{sec:noroam}
+
+{\sloppy
+Unfortunately, these filetype associations do not roam. With the
+RES desktop management system at our university, this is no longer a
+problem for us. For other setups, the launcher contains a workaround
+which is activated by the \texttt{remember} ini file setting, see
+section \ref{sec:gen}.\par}
+
+When this is set to 1, the launcher will during first-time
+initialization place a shortcut to the forgetter in the Start / All
+Programs / Startup menu, with a `remember' parameter added. This
+will cause the forgetter to run automatically at logon with a
+remember parameter. With this parameter, it will just silently
+recreate the filetype associations and then terminate.
\subsection{UserChoice}
\label{sec:userchoice}
-Apart from this scheme, choices made by the user in the `Open
+{\sloppy
+Apart from the registry settings under the two \texttt{\bslb
+ Software\bslb Classes} keys, choices made by the user in the `Open
with\textellipsis' dialog are stored under subkeys of \hkcu
\texttt{\bslb Software\bslb Microsoft\bslb Windows\bslb
CurrentVersion\bslb Explorer\bslb FileExts\bslb \emph{.ext}}, the
exact subkey(s) depending on the Windows version. Such entries
-should have priority over the ones described above, and do roam.
+should have priority over the ones described above, and do roam.\par}
Windows 8 and later may pop up a dialog asking with what program to
open a file even if there is already an answer in a
@@ -1082,8 +1101,8 @@ As to user files, it should be ok to put \texttt{\$TEXMFCONFIG},
two, this could also be done after the fact with a couple of lines
in \texttt{\emph{tlroot}/texmf.cnf}, \emph{e.g.}:
\begin{verbatim}
-TEXMFVAR = $APPDATA/texlive2016/texmf-var
-TEXMFCONFIG = $APPDATA/texlive2016/texmf-config
+TEXMFVAR = $APPDATA/texlive2017/texmf-var
+TEXMFCONFIG = $APPDATA/texlive2017/texmf-config
\end{verbatim}
There they will be hidden, but most users will never interact
directly with files in these directories anyway.\par}
diff --git a/Master/texmf-dist/web2c/tlaunch.ini b/Master/texmf-dist/web2c/tlaunch.ini
index bcfd5538fb0..c5b3c154f74 100644
--- a/Master/texmf-dist/web2c/tlaunch.ini
+++ b/Master/texmf-dist/web2c/tlaunch.ini
@@ -45,20 +45,11 @@ EXTENSIONS=.eps .ps .pdf
; key is display string, value is action
; items can be:
; SO: shell object, e.g. document or URL; opened with current default program.
-; SC: previously declared utility script
+; SC: previously declared utility script; see tlaunch.ini in rug.zip
; FT: previously declared filetype
; FU: built-in function
; general commands
-; automatic cache generation from xetex may require changes to
-; the root TEXMF.CNF
-; It may not always work right when run from xetex
-; so is also available as a utility script.
-; see manual for requirements to make this work.
-[SC:XeTeX-fontcache]
-command=fc-cache -v
-splash=Creating or updating XeTeX font cache
-
[MN:File]
Browse TeX Live installation=explorer.exe "%tlroot%\.."
Quit=FU:quit
@@ -79,12 +70,9 @@ Re-initialize TeX Live=FU:initialize
Remove TeX Live settings=FU:clear
=
TeX Live Manager="%tlroot%\bin\win32\tlmgr-gui.exe"
-Uninstall completely=FU:uninst_all
-Uninstall but keep directory=FU:uninst
+Uninstall=FU:uninst
=
Editor choice=FU:editor_select
-=
-Generate/Refresh xetex font database=SC:XeTeX-fontcache
[MN:Documentation]
LaTeX Introduction=SO:%tlroot%\texmf-dist\doc\latex\lshort-english\lshort.pdf