<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
I am not familiar with this approach (and I am working on a machine
where I do not have admin privileges), but an alternative is to
download the Windows extensions for Python by Mark Hammond (et. al.) at:<br>
<br>
<a class="moz-txt-link-freetext" href="http://sourceforge.net/projects/pywin32/">http://sourceforge.net/projects/pywin32/</a><br>
<br>
which makes writing a Windows service simple as the following example
illustrates:<br>
<br>
=====================================================<br>
# SmallestService.py<br>
#<br>
# A sample demonstrating the smallest possible service written in
Python.<br>
<br>
import win32serviceutil<br>
import win32service<br>
import win32event<br>
<br>
class SmallestPythonService(win32serviceutil.ServiceFramework):<br>
&nbsp;&nbsp;&nbsp; _svc_name_ = "SmallestPythonService"<br>
&nbsp;&nbsp;&nbsp; _svc_display_name_ = "The smallest possible Python Service"<br>
&nbsp;&nbsp;&nbsp; def __init__(self, args):<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; win32serviceutil.ServiceFramework.__init__(self, args)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Create an event which we will use to wait on.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # The "service stop" request will set this event.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.hWaitStop = win32event.CreateEvent(None, 0, 0, None)<br>
<br>
&nbsp;&nbsp;&nbsp; def SvcStop(self):<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Before we do anything, tell the SCM we are starting the stop
process.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # And set my event.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; win32event.SetEvent(self.hWaitStop)<br>
<br>
&nbsp;&nbsp;&nbsp; def SvcDoRun(self):<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # We do nothing other than wait to be stopped!<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; win32event.WaitForSingleObject(self.hWaitStop,
win32event.INFINITE)<br>
<br>
if __name__=='__main__':<br>
&nbsp;&nbsp;&nbsp; win32serviceutil.HandleCommandLine(SmallestPythonService)<br>
=====================================================<br>
<br>
Just type:<br>
<br>
SmallestService.py -h<br>
<br>
at a shell prompt to see the options for installing/removing etc.<br>
<br>
-- jv<br>
<br>
<br>
<br>
Tor Erik S&oslash;nvisen wrote:
<blockquote cite="mid000001c6fe61$275da850$7741279e@nett.npolar"
 type="cite">
  <meta http-equiv="Content-Type" content="text/html; ">
  <meta content="MSHTML 6.00.2900.2963" name="GENERATOR">
  <div align="left" dir="ltr"><span class="160504008-02112006"><font
 face="Arial" size="2">Hi,</font></span></div>
  <div><span class="160504008-02112006"></span>&nbsp;</div>
  <div><span class="160504008-02112006"><font face="Arial" size="2">I'm
trying to execute a python script as a windows service.</font></span></div>
  <div><span class="160504008-02112006"><font face="Arial" size="2">I
found some information at:</font></span></div>
  <div><span class="160504008-02112006"><font face="Arial" size="2"><a
 href="http://agiletesting.blogspot.com/2005/09/running-python-script-as-windows.html">http://agiletesting.blogspot.com/2005/09/running-python-script-as-windows.html</a></font></span></div>
  <div><span class="160504008-02112006"></span>&nbsp;</div>
  <div><span class="160504008-02112006"><font face="Arial" size="2">The
steps I've taken are the following:</font></span></div>
  <div><span class="160504008-02112006"></span>&nbsp;</div>
  <div><span class="160504008-02112006"><font face="Arial" size="2">1.
Downloaded Windows Resource Kits</font></span></div>
  <div><span class="160504008-02112006"><font face="Arial" size="2">2.
Executed instsrv.exe nameOfService <font face="Times New Roman"
 size="3">srvany.exe</font></font></span></div>
  <div><span class="160504008-02112006">3. In registry added a key
Parameters in
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nameOfService entry</span></div>
  <div><span class="160504008-02112006">4. Under Parameters added three
string values:</span></div>
  <div><span class="160504008-02112006">&nbsp;&nbsp;&nbsp; 4.1:
Application&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; REG_SZ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
C:\Python25\pythonw.exe</span></div>
  <div><span class="160504008-02112006">&nbsp;&nbsp;&nbsp; 4.2:
AppDirectory&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; REG_SZ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C:\Python25</span></div>
  <div><span class="160504008-02112006">&nbsp;&nbsp;&nbsp; 4.3: AppParameters&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
REG_SZ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C:\Documents and Settings\torerik\My
Documents\Apps\SARImageProcessing\time.py</span></div>
  <div><span class="160504008-02112006">5. Started nameOfService in
Control Panel --&gt; Adminstrative Tools --&gt; Services</span></div>
  <div><span class="160504008-02112006"></span>&nbsp;</div>
  <div><span class="160504008-02112006"><font face="Arial" size="2">This
is not working however as the python script (time.py) looks like this:</font></span></div>
  <div><span class="160504008-02112006"></span>&nbsp;</div>
  <div><span class="160504008-02112006"><font face="Arial" size="2">import
time</font></span></div>
  <div>&nbsp;</div>
  <div><span class="160504008-02112006"><font face="Arial" size="2">i =
0<br>
while True:<br>
&nbsp;&nbsp;&nbsp; f = open(r'C:\testService.txt', 'wb')<br>
&nbsp;&nbsp;&nbsp; f.write(str(i))<br>
&nbsp;&nbsp;&nbsp; f.close()<br>
&nbsp;&nbsp;&nbsp; i += 1<br>
&nbsp;&nbsp;&nbsp; time.sleep(1)</font></span></div>
  <div><span class="160504008-02112006"></span>&nbsp;</div>
  <div><span class="160504008-02112006"><font face="Arial" size="2">and
no file named testService.txt is created.</font></span></div>
  <div><span class="160504008-02112006"><font face="Arial" size="2">I've
tried executing the script normally, and it works like a charm...</font></span></div>
  <div><span class="160504008-02112006"><font face="Arial" size="2">Any
ideas?</font></span></div>
  <div><span class="160504008-02112006"></span>&nbsp;</div>
  <div><span class="160504008-02112006"><font face="Arial" size="2">regards</font></span></div>
  <div><span class="160504008-02112006"></span>&nbsp;</div>
  <div><span class="160504008-02112006"></span>&nbsp;</div>
  <pre wrap="">
<hr size="4" width="90%">
_______________________________________________
Python-win32 mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Python-win32@python.org">Python-win32@python.org</a>
<a class="moz-txt-link-freetext" href="http://mail.python.org/mailman/listinfo/python-win32">http://mail.python.org/mailman/listinfo/python-win32</a>
  </pre>
</blockquote>
<br>
</body>
</html>