# Network TeX installations for Windows clients

TeX Live is designed for shared use: you can install TeX Live on a network for use on client workstations. All it takes is adding TeX Live to the searchpath.

On Windows, a bit more is expected: double-clicking a file should open it in the right program, and there should be menu shortcuts. There should also be an installer which takes care of this, and an uninstaller.

## The Launcher

The new TeX Live Launcher is a single program that takes care of the configurations listed above, but instead of creating entries in the Start menu, it displays a window with buttons and menu entries. It gets its data, i.e. file associations, buttons, menu entries, from a standard Windows ini file.

Installation consists of copying `tlaunch.exe` and `tlaunch.ini` to the root of the TeX Live installation and creating a shortcut for `tlaunch.exe` in a suitable location.

The zipfile `tlaunchversion.zip` contains among others:

`tlaunch.exe`
The launcher itself
`tlaunch.ini`
An basic ini file for the launcher
`doc/tlaunch_rug.ini`
A more elaborate example ini file, with lots of comments
`tlaunchversion.tar.gz`
The source tarball

Expect some updates during the lifetime of the 2016 TeX Live release.

## The old client installer scripts

The old installer makes use of building blocks which are already present in the TeX Live installation, viz. the TeX Live Perl libraries and the built-in hidden Perl installation. It should work with the 2011- and later editions of TeX Live.

The zipfile `w32client.zip` contains the following:

`w32client`
The client installer Perl script
`w32client.bat`
A batchfile running the above Perl script, using the private built-in Perl
`w32unclient.vbs`
The client uninstaller vbscript
`README`

All changes are made for the user, not for the workstation. This implies that in a roaming profile setup the configuration is available from any computer on the network, and that the user needs no particular rights on the workstation.

### Customizations

Although it should work as-is, the file `w32client` offers some customization options:

• The name of the TeX Live menu
• The choice of packages for which menu entries and file associations should be created. If you include a package which is not installed or for which such postactions are not defined, the script will quietly skip that package.
• Whether or not a per-user XeTeX font cache should be generated; see XeTeX font caches.

### Changes in the old client installer

• Since 2012, `w32client` uses the `TeXLive::...` modules directly, rather pressing `tlmgr.pl`, the TeX Live Manager, into service as a library.
• There is no guarantee that the TeX installation will still be around at uninstall time. Therefore, also since 2012, the uninstaller is a vbscript which is copied to the user's profile. This script needs some information which is generated by the installer.
• August 18 2012 update: There is once more a command prompt entry. Also some minor fixes and cosmetic changes.
• 2013: `w32client.bat` now accepts placement on a UNC path. This has not been tested with releases prior to 2013.
• 2015: The updated version of `w32client.bat` is now actually included.

You can also still download zipfiles for 2013 and for 2011 and for 2010 and for 2009.

### Requirements of the network installation

The prototype script assumes a standard directory layout:

```parent---YYYY
|       |
|       +---bin---win32
|       +---texmf (not for 2013 or later)
|       +---texmf-dist
|       +---texmf-config
|       +---texmf-var
|       +---tlpkg
|
+---texmf-local
```

or

```parent
|
+---bin---win32
+---texmf (not for 2013 or later)
+---texmf-dist
+---texmf-config
+---texmf-var
+---tlpkg
|
+---texmf-local
```

The w32client scripts assume that they are in the root of the installation, i.e. in parent\YYYY or in parent if there is no year component.

Sticking to such default directory layouts minimizes configuration hassles: all files can be located relative to the binaries, without environment variables beyond the searchpath.

### Bugs and caveats

#### UNC paths

The 2013 version of w32 client scripts mostly work from a UNC path. However, when double-clicking the batchfile you will get a warning such as

```'\\server\share'
CMD.EXE was started with the above path as the current directory.
UNC paths are not supported.  Defaulting to Windows directory.
```

However, installation will proceed as intended. You can avoid this warning by providing a shortcut to w32client.bat which specifies a Start in: directory with a drive letter.

#### Search path

If a workstation already has a locally installed TeX and if its binaries are on the system path, then the locally installed TeX will be found first. This cannot be fixed by only changing the user path.

Even if the searchpath cannot be fixed generally, it can be fixed for individual shortcuts, by prepending its searchpath with the TeX Live binaries. E.g. the TeXworks shortcut will always find our TeX Live first. The installer also creates a shortcut for a command prompt with such a modified searchpath.

#### Local policies

Windows system administrators have a rich array of tools for restricting user's rights. Check whether everything works, not just for yourself, but also for the target group.

#### Dviout help

Dviout help may be inaccessible because of restrictive internet permissions. Users can copy TeX Live Root`\tlpkg\dviout\dvioute.chm` to their local harddisk and open this copy, or you can ask the sysadmin to do something about it.

#### Roaming

Windows does not include every piece of user configuration in the roaming profile. In particular, file associations are only stored on the workstation itself. Possible workarounds:

• Let users rerun the client script when they log in on a new workstation. If `\$do_xetex_fontcache` is set to 0 (the default), this will only take seconds.
• Provide shortcuts to TeXworks, PSView, Dviout and bitmap2eps in the SendTo folder, to make them conveniently available via the right-click menu in Windows Explorer. Make sure that on your network the SendTo folders roams. This should normally be the case, but administrators can turn this off.

#### XeTeX font caches

If different clients have different fonts, you may consider letting users have individual font caches. See the `README` in the zipfile for details. Be aware that generating a font cache can be a time-consuming process. If you specify the generation of a per-user font cache while XeTeX is not installed, this action will be quietly skipped.

Copyright (C) 2011, 2012, 2013, 2014, 2015, 2016 Siep Kroonenberg
s i e p o _ at _ c y b e r c o m m _ dot _ n l

Last revised on June 6 2016