RE: [Zope] Zope 2.7.2 still doesn't run as a service in w2k
Tim Peters
[Ausum Studio]
I ran the service in debug mode and apparently the problem was in the path. I had already updated it according to http://www.zopelabs.com/cookbook/1091948185 , but I had used long names with spaces in between: "G:\Archivos de programa\Zope27\lib\python"
Changed to 8.3 format and that made it.("G:\ARCHIV~1\Zope27\lib\python")
I don't know all the details, but that makes sense.so far as I do. Some basic Win32 API calls have no idea what to do with a space-infected pathname (which is one reason you can still use 8.3 alias names on the newer Windows filesystems, none of which have an *obvious* need for them).
In almost all cases I have had, surrounding the file name with double quotes takes care of any problems. For the same reason, it is good practice to write "%1" (with quotes) for the argument placeholder of command lines. I recommend trying this first, before resorting to the 8.3 syntax. Cheers, Tom P
[Passin, Tom]
In almost all cases I have had, surrounding the file name with double quotes takes care of any problems. For the same reason, it is good practice to write "%1" (with quotes) for the argument placeholder of command lines.
I recommend trying this first, before resorting to the 8.3 syntax.
It probably won't help. Things executed from the shell do quote processing, because the *shell* does quote processing. Things passed directly to a Win32 API call often don't get that (mixed) benefit. The basic Win32 API CreateProcess() call splits arguments on whitespace, even when the whitespace is inside double quotes (well, except for the first part of the command line passed to it -- it does special-case quotes to get at the executable path, but quotes don't mean anything on the rest of the command line passed to it). Running as a service eventually has to call CreateProcess() under the covers.
participants (2)
-
Passin, Tom -
Tim Peters