I just checked in how I finally got Zope 2.7.x to run as a service on Windows again.
See also http://collector.zope.org/Zope/1533 - this has a number of changes to make services much more reliable on Windows. My patch includes your change, but along the lines of Tim's objection, mine compromises with: +os.environ["PYTHONPATH"] = os.environ.get("PYTHONPATH", "") + ";" + SOFTWARE_HOME My patches also have the killer feature of writing any Zope stdout to the Windows event log in the case of error - critical if you hope to see what the underlying error was. The patch also allows for Zope to be terminated gracefully (rather than unconditionally terminating it as now), re-instates support for Windows NT, and allows for a complete, functioning pywin32 build to be used (including win32com etc). Just-by-way-of-reminder ly, Mark