Problems with Windows installation directory paths

Problems with the Windows version of XAMPP, questions, comments, and anything related.

Problems with Windows installation directory paths

Postby marczellm » 01. June 2017 10:31

Problem 1. XAMPP doesn't support installation into a folder where the path contains spaces. The Windows installer actually raises an error message towards the end of the installation process. This should be fixed. The components of XAMPP should be fixed to work on Windows without such restrictions.

Problem 2. The installer doesn't warn about this. I can start the installation in a path with spaces and it only fails at the end of installation. I have to uninstall, reboot, reinstall. At least the installer should warn about this right at the beginning. It does warn about User Account Control and not installing into C:\Program Files, so I entered D:\Program Files, then it failed. Why does it warn about some things and not others?

Problem 3. XAMPP doesn't support installation into a folder where the path contains an accented letter. This should be fixed. My Windows username is my given name, Márton, and I didn't even decide this. Windows gave me this username after logging in to Windows with my Microsoft account. So I cannot install into C:\Users\Márton\ProgrammingStuff either.

Problem 4. When I enter C:\Users\Márton\ProgrammingStuff as the installation directory, the message I get is not correct. It says the installation path can only contain letters and certain characters, but accented letters are letters! At least the error message should be correct.

I believe that in 2017 it is increasingly embarrassing for a modern application to 1. not support all possible paths, and 2. to fail in wrong ways instead of raising a correct error message early on.
marczellm
 
Posts: 4
Joined: 01. June 2017 10:16
XAMPP version: 5.6.30
Operating System: Windows 10

Re: Problems with Windows installation directory paths

Postby Altrea » 01. June 2017 13:11

It is not planned to support that on XAMPP.

But you can try to install and configure these single components on your own. You will see that by far not all Modules, extensions etc are able to run on all windows possible paths. These single components are programmed primarily on and for *nix based systems and because of that are sometimes only able to work on *nix friendly path names.
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 8963
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 10 Pro x64

Re: Problems with Windows installation directory paths

Postby marczellm » 01. June 2017 13:50

But at least sensible error messages should indicate these problems to the user!
marczellm
 
Posts: 4
Joined: 01. June 2017 10:16
XAMPP version: 5.6.30
Operating System: Windows 10

Re: Problems with Windows installation directory paths

Postby Nobbie » 01. June 2017 17:09

marczellm wrote:But at least sensible error messages should indicate these problems to the user!


No. Its a question of your personal knowledge that (especially) servers do not accept all characters in file names. It is very well known that specials characters are not supported. Apache is designed to run on different OS and different file systems, its an sophisticated Administrators task to install and configure a webserver. It is not designed for everybody.
Nobbie
 
Posts: 9764
Joined: 09. March 2008 13:04

Re: Problems with Windows installation directory paths

Postby marczellm » 08. June 2017 10:06

Point me to something in the Linux or POSIX specification or API contract that says the user can't install software into a folder named 'Program Files'.
marczellm
 
Posts: 4
Joined: 01. June 2017 10:16
XAMPP version: 5.6.30
Operating System: Windows 10

Re: Problems with Windows installation directory paths

Postby Nobbie » 08. June 2017 16:27

marczellm wrote:Point me to something in the Linux or POSIX specification or API contract that says the user can't install software into a folder named 'Program Files'.


Its not a question of Linux or Posix, its Apache and TCPIP which have to work independently from Operating Systems. Obviously you have no idea about the complexity of different file system (i.e. extfs, ntfs, hfs etc.) using different charsets, about URL specifications, about Domain Name restrictions etc. If your file system runs with a different character set than your HTML page and your browser, you are getting big troubles when using special characters, which are part of one character set, but not of the other. That is the problem and therefore it is not recommended to use special characters like (for example) á or ä or ß or or or (many languages are knowing special characters).

Its not question of "Program Files" (i dont know why you mention that), its a question of "Márton". Xampp (i.e. Bitnami) gives a warning if you use spaces in your Pathnames, but if you really know how to deal with spaces in an URL, you may do so. But mostly people like you are coming into this forum because they have troubles with their spaces, even if it CAN work, they are doing it wrong. And if you have to answer the same question one hundred times and more, you will also tell the people simply not to use spaces. Thats the reason, why Xampp does not "support" (its the wrong word, its not recommended actually) spaces in file names. A webserver software cannot be compared with a simply office software which is meant to run locally only. If you dont understand that, dont run a webserver. There are plenty of cheap preconfigured webservers out there, go and pick one of them.
Nobbie
 
Posts: 9764
Joined: 09. March 2008 13:04

Re: Problems with Windows installation directory paths

Postby marczellm » 08. June 2017 19:25

Obviously you have no idea about the complexity of different file system (i.e. extfs, ntfs, hfs etc.)
Software should run independently of what filesystem it is running on, because the OS provides high-level APIs to access files. These APIs should be well documented. The documentation states the character set that they accept or return. If you pass them a string in a different character set, or try to interpret the returned value as another character set, then it's a bug in your software, and exclusively your fault.

URL specifications, about Domain Name restrictions
I don't know why you mention URL-s, because everything that the webserver serves is under its htdocs directory. The path that XAMPP is installed in never shows up in any URL or domain name.

Its not question of "Program Files" (i dont know why you mention that)
Go back and reread my first post. XAMPP installer throws up on that path. Here's an image:
Image
marczellm
 
Posts: 4
Joined: 01. June 2017 10:16
XAMPP version: 5.6.30
Operating System: Windows 10

Re: Problems with Windows installation directory paths

Postby Nobbie » 08. June 2017 22:42

Its not my software, its not my fault, i am not member of bitnami as well not of Apache. I am simply an experienced user and try to explain why there sre certain restrictions. You may feel free to join the Bitnami and Apache development and proof them your overwhelming knowledge. Its a bit confusing why you dont install Apache etc. from scratch, instead you use a distribution what is meant for noobs and comes with a bunch of limitations.

Simply dont use Xampp or fix it, everything else is a waste of time. Good by and good luck.

P.S.: Did you apply the installation path in double quotes? Windows dialogs very often treats parameters with embedded spaces as two (or more) tokens. I dont know how the installer is working, but that would be the very first thing i would try. Just in case...
Nobbie
 
Posts: 9764
Joined: 09. March 2008 13:04

Re: Problems with Windows installation directory paths

Postby Aphid » 09. June 2017 09:51

XAMPP should be able to support any path as its base path or base paths to serve files from, as it really only needs to work with relative paths. E.g. if I want to specify /var/pêcher/ as the path to my French site about Fishing, then that should not be a problem with translating URLs into file paths as the file system path for any particular URL can simply be a relative path 'from' the location in /var/pêcher/. There's no rational reason the base path(s) can't be anything the OS allows as a valid path.

Even non-modern file systems like FAT-32 now have support for unicode file names (through the windows API, in this case). The OS can handle the details for you. Now there are indeed some details that can't really be supported, like the use of the URL separator character in a file name (the '/'), because it gets interpreted as a path separator. The backslash also causes issues. In addition browsers sometimes like to translate slashes because they think you're entering a file path. In any case the problems are just with files IN the web server directory. Perhaps xampp could complain if it finds such a file, but it doesn't even need to do that: the worst consequence is that the web server simply can't ever reach the file because there's no valid query for it.

One interesting question that I would have in respect to windows is: what about legacy device file names? (E.g. what happens if I try to access www.mysite.com/COM on a windows apache configuration? Would it error out?)
Aphid
 
Posts: 1
Joined: 09. June 2017 09:15
XAMPP version: 1.8
Operating System: Linux

Re: Problems with Windows installation directory paths

Postby Nobbie » 09. June 2017 16:31

Aphid wrote:XAMPP should be able to support any path as its base path or base paths to serve files from, as it really only needs to work with relative paths. E.g. if I want to specify /var/pêcher/ as the path to my French site about Fishing, then that should not be a problem with translating URLs into file paths as the file system path for any particular URL can simply be a relative path 'from' the location in /var/pêcher/. There's no rational reason the base path(s) can't be anything the OS allows as a valid path.


Not a problem? Ok, lets create the following scenario: you are watching a server which is running on a filesystem with utf16 character set. Your browser is configured to use latin1 character set (i.e. ISO-8859-15). A very common configuration. The server contains pathnames with chinese characters, which cannot be displayed with ISO-8859-15, as there is no chinese character in that set. Now Apache sends "something" to the browser, what should the browser show? How will you display that chinese character?

And how is Apache supposed to know, which character set is configured in your browser? You even can change the configuration without sending any request to any server. Is it Apaches fault or the browsers fault if the pathname is not displayed correctly?
Nobbie
 
Posts: 9764
Joined: 09. March 2008 13:04

Re: Problems with Windows installation directory paths

Postby Nobbie » 09. June 2017 16:38

Aphid wrote: (E.g. what happens if I try to access http://www.mysite.com/COM on a windows apache configuration? Would it error out?)


Nothing will happen, the request will go for a file or folder with name "COM". Devices under Windows ends with a colon, COM1: for example or LPT1: etc., not simply a plain string with alpha-numeric characters. And a colon is also a special character in URLs (it divides the Protocoll from the servername like http://.... or ftp://.... etc.) I dont know what will happen if you enter COM1: in an URL, but i am pretty sure that you wont reach a serial port....
Nobbie
 
Posts: 9764
Joined: 09. March 2008 13:04

Re: Problems with Windows installation directory paths

Postby JaneDoe » 09. June 2017 21:25

Nobbie wrote:Now Apache sends "something" to the browser, what should the browser show? How will you display that chinese character?

And how is Apache supposed to know, which character set is configured in your browser? You even can change the configuration without sending any request to any server. Is it Apaches fault or the browsers fault if the pathname is not displayed correctly?


In short, it doesn't matter what the user agent shows the user. URIs are for machines; the fact that they're often human-readable is a nice side-effect.

The first Unicode standards document was published in 1991.

As specified back in 1994 by RFC1738 section 2.2 (and "updated" in 2005 by RFC 3986 2.1), "unsafe" characters and characters outside the printable US-ASCII range are URL-encoded, so that's what the user agent and the HTTPd use to communicate. Whether or not the user agent knows how convert the encoded URL to something that is legible to the user is irrelevant; the URL is a valid and correct path, as the encoded URL is the one that the UA and the server use behind the scenes.

*nix filesystems have been able to store filenames with characters outside the ASCII range for forever. (Remember that filenames are almost always to be treated as just a series of bytes!) The URL-encoding scheme (specified in 1994) handles all possible character encodings with ease by treating pathnames as just a series of bytes.

Ideally, an HTTPd running on a system that's known to always use an odd filename encoding (such as Windows, which uses the not-really-UCS-2 encoding informally known as WTF-16) will translate the pathname to UTF-8 before URL encoding it and reverse the translation where appropriate. However, that's certainly not mandatory! All that's needed is for a given path to have a consistent name.

Again: URIs are for machines; the fact that they're often human-readable is a nice side-effect.
JaneDoe
 
Posts: 1
Joined: 09. June 2017 21:13
XAMPP version: 7.1.4
Operating System: Linux


Return to XAMPP for Windows

Who is online

Users browsing this forum: Nobbie and 35 guests