I will write up a more publically palatable version of the below and post it for someone more intimately associated with the docs and development to merge into the tree. Keep in mind that this is an issue not just for MP but also any CGI script or frankly any service that allows execution of external binaries that try to initialize and display GUI components. Although I have not tested it, I would imagine that this would be an issue on a Unix/linix variant as well as the design of the OS is similar to WinNT and up. Or the other way around if you want to follow the timeline correctly ;-}.
Tom

Stas Bekman wrote:

Terra Info wrote:

Two things: 1) this is not the list for this question.
2) a probable answer anyhow->

If that's a real pitfall and it's doomed to be a recurrent question, can we please document this under win32/? Also, Randy, it seems that there is whole lot of win32 issues which apply to all mod_perl versions (per our faq discussion), so rather than duplicating them in docs/1.0/os/win32 and docs/2.0/os/win32, we should probably have an area for general win32 issues, e.g. docs/general/os/win32 and point to it from both 1.0 and 2.0.

The issue is not file permissions (per se) or anything like that. It is the way WinNT and up is built. What you were doing in Win 98 worked because apps all ran in the same user space. Despite logging into a 98 machine you were really executing all programs as the default user and inside that users memory space. That happened to be, for the most part, shared by almost everything else running on the system. Hence when you ran a gui app from within apache the system would display the gui part of it on the screen. Instead of going into how WinNT and up is designed (go over to mikeysoft's site and you may see something there or maybe a MCSE book on Win2K will have the design philosophy in it) let's just skip to the possible fix. Check to see if the user you run apache under is allowed to "interact with the desktop". It should be in the services CPL applet under the entry for that service. Check that and restart the service. This may allow your app to run but I doubt it. Also, keep in mind this is not secure at all and your best bet is to see if the app you are running has a /quiet switch or something that will keep it from trying to paint any dialog boxes. If you wrote that app then you should put a hook into it that will allow that option (obviously adding the code to bypass init'n the gui code) and then execute it with that option.
Tom

Philip Fibiger wrote:

Hello all,

I've got a pretty simple perl script that used to run on a windows 98
machine running apache just fine. It would use system() to launch a windows
app that has a graphical display to sync a ms-sql database to a mysql one.
Anyway, it's been replaced by a new machine running win2k, and I'm having
some problems. When I attempt to use system() to execute the program under
win2k, the program appears to start (it shows up in the task list) but it
never gets past that point. The same thing happens with any program that has
a gui. I checked permissions, and I can log in w/ the same account apache
uses, and I can execute the program just fine. Is there some permissions
issue, or some alternate way of launching the program via perl that i'm not
seeing?
Thanks!

Philip



--
-----------------------------------------------------
Terra Novum Research
[EMAIL PROTECTED]
www.terranovum.com
(617) 923-4132

PO Box 362
Watertown, MA 02471-0362

In time-keeping, in trading, in fighting, men counted numbers;
and finally, as the habit grew, only numbers counted.
      Lewis Mumford


Reply via email to