For v. 1.0, I'd say we should just get rid of the Run menu altogether on Windows unless this is an easy fix.
If I try to run a simple cmd prompt, the cmd prompt launches, I can see it in Task Manager, but the window doesn't appear anywhere on my screen. I can't switch to it. It disappears from Task Manager when quitting EWFE.
2009-09-25 12:52:25,168 [ DEBUG ewfe.client.gui.tasks ] Running internal actions for Task Update server Earlybird
2009-09-25 12:53:07,950 [ DEBUG ewfe.client.gui.controllers.menus] Executing ['c:\\windows\\system32\\cmd']
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\isti\src\ewfe\resources>2009-09-25 12:53:22,464 [ DEBUG ewfe.client.core.installation ] Reading state for Service
2009-09-25 12:53:23,730 [ DEBUG ewfe.client.core.installation ] End of read state for Service
If I try to run Swarm, it looks OK:
2009-09-25 12:50:01,730 [ DEBUG ewfe.client.gui.controllers.menus] Executing ['e:\\swarm\\swarm.bat']
but Swarm never launches. It turns out that if I run the swarm.bat file, and I'm not in the e:\swarm directory, swarm won't run. So this launch needs to start from that directory.
Can't run an application in quotes it seems? Trying to run Internet Explorer:
2009-09-25 12:51:15,918 [ DEBUG ewfe.client.gui.controllers.menus] Executing ['"C:\\Program Files\\Internet Explorer\\iexplore.exe"']
2009-09-25 12:51:15,918 [ ERROR ewfe.client.gui.controllers.menus] Problem executing ['"C:\\Program Files\\Internet Explorer\\iexplore.exe"']: [Error 3] The system cannot find the path specified
2009-09-25 12:51:15,918 [ ERROR ewfe.client.gui.controllers.menus] Traceback (most recent call last):
File "C:\isti\src\ewfe\src\ewfe\client\gui\controllers\menus.py", line 76, in __execute
Popen(args)
File "C:\Python26\lib\subprocess.py", line 595, in __init__
errread, errwrite)
File "C:\Python26\lib\subprocess.py", line 804, in _execute_child
startupinfo)
WindowsError: [Error 3] The system cannot find the path specified
The user never gets any feedback from the GUI. It silently fails each time, unless you're looking in the log window.