[tex-live] texlive2008 install-tl fails on Windows XP Chinese traditional

Siep Kroonenberg siepo at cybercomm.nl
Sun Oct 26 11:04:03 CET 2008


On Sun, Oct 26, 2008 at 02:57:56AM +0200, Reinhard Kotucha wrote:
> Nien-Po Chen writes:
>  > To whom it may concern,
>  > 
>  > I cannot find any other e-mail addresses to report this problem, so I  
>  > send it to you. I wold like to install TeXLive 2008 to Windows XP  
>  > (Chinese traditional).  The installer stops, as shown in the attached  
>  > screen shots.  It seems the installer cannot handle the folder names  
>  > (in traditional Chinese) properly and fails in mkdir.  Any  
>  > suggestion?  Thanks.
> 
> Hi,
> another Chinese reported a similar problem with TeX Live 2007 which
> had a completely different installer.  In order to avoid the problem
> in TeX Live 2008, I sent him a program which converted an environment
> variable containing a path into a list of bytes in hexadecimal
> notation and asked him to send me the result back.
> 
> But the result was discouraging.  I had not been able to find out
> which character encoding had been used.  The string contained a path
> where one directory contained his name, a single Chinese character.
> This character was represented by two bytes while the rest of the
> string ("C:\Documents and Settings\...") had been single-byte ASCII
> characters.
> 
> The problem is that Perl expects forward slashes as directory
> separators.  Thus, if a path is entered in one of the menus or it's
> taken from an environment variable, backslashes have to be converted
> to forward slashes.  The only character encoding I'm aware of which
> allows such a conversion without breaking multi-byte characters is
> UTF-8.
> 
> About a year ago I discussed this issue with Hans Hagen.  He assumed
> that, though Windows probably uses UTF-8 for file names internally,
> the user interfaces are using character encodings based on national
> standards.  This explains the result of our test.  He suggested to
> convert file names to short names (Siep mentioned it already too).
> Then a path containing East Asian characters will be converted to a
> string containing ASCII characters only.  However, this is not always
> possible because some programs have to determine how they had been
> invoked.  In this case short names are not usable.
> 
> I'm sad that I can't provide better news.  I even don't know whether
> this problem can be solved at all.  Maybe a Perl/Windows expert from
> East Asia could provide more information.
> 
> At the moment, all I can recommend is to install TeX Live in a
> directory which doesn't contain multi-byte (East Asian) characters in
> its path.  It's definitely not a solution because on Vista you'll
> certainly are not allowed to install TeX Live in a directory of your
> choice.

According to the screenshot, this is about creating a directory for
shortcuts, a sub-subdirectory of c:/Documents and Settings/All Users:

...
running post install action for bin-texdoc
TK::Error: Can't mkdir 'C:/Documents and Settings/All Users/####/####/':
Invalid argument.
 TeXLive::TLUtils::mkdirhier at tlpkg/TeXLive/TLUtils.pm line 507
 TeXLive::TLWinGoo::add_menu_shortcut at tlpkg/TeXLive/TLWinGoo.pm line 897
 TeXLive::TLPostActions::do_install_bin_texdoc at
 tlpkg/TeXLive/TLPostActions.pm line 164

Your comment on problems with slash flipping may be on the mark: the
shortcuts should be created in C:/Documents and Settings/All
Users/Start Menu/Programs/TeX Live 2008, i.e. _one level deeper_,
whereas  Start Menu/Programs should already exist.

_If_ it is true that short names only contain ascii characters, then
that would be a solution, at least in this case.

-- 
Siep Kroonenberg


More information about the tex-live mailing list