Py2exe: Are manifest files and w9xpopen.exe required when compiling a web server without GUI interface?
Asked Answered
C

3

11

I'm using Py2exe to compile a CherryPy (3.1) server using Python 2.6 (32-bit) on Windows 7 Pro (64-bit).

This server will run without a GUI.

Questions:

  1. Do I need to be concerned about adding a manifest file for this application if it runs without a GUI?

  2. Do I need to include w9xpopen.exe with my exe?

So far, my limited testing has indicated that I don't need to include a manifest file or w9xpopen.exe with my executable in order for it to work.

Comments appreciated.

Thank you, Malcolm

Cantor answered 15/12, 2009 at 1:37 Comment(0)
S
12

w9xpopen.exe is for windows 95/98, So If you don't use those you will not need it.

You can add dll_excludes=['w9xpopen.exe'] in your setup file for py2exe to exclude that.

and of course you will not need manifest file if you don't use GUI too.

Saleem answered 15/12, 2009 at 1:44 Comment(2)
I was under the impression that a manifest file is also required with Python 2.6 in order for the exe to find its MSVC*.DLL runtime files. If I understand your comment correctly, this is not the case because the manifest file is only required for GUI applications - not console applications. Is this correct? Thank you! - MalcolmCantor
I am building a single-file executable, and although I have incorporated the dll_excludes[] directive in my setup.py, the file w9xpopen.exe is still being added to my dist directory. (I recognize though that w9xpopen.exe is not needed to run my generated single-file executable on Windows 7.)Staggers
G
0

A manifest file will not be required for console applications. w9xpopen.exe is not required for Win XP and later.

Galah answered 26/1, 2010 at 17:6 Comment(0)
M
0
  • A manifest should not be required.

  • And you can exclude w9xpopen.exe (for Win XP and above)

For what it's worth, using py2exe v 0.6.9 to automatically exclude w9xpopen I had to set dll_excludes as a py2exe option within my setup.py file. Here's an example for "myapp.py":

from distutils.core import setup
import py2exe, sys, os

sys.argv.append('py2exe')

setup(    
    name = "...",
    version = '1.0',
    description = "...",
    author = "...",
    windows = [{'script': 'myapp.py', 
                'icon_resources': [(1, 'myapp.ico')]
                }],
    zipfile = None,
    data_files=[],
    options = {
        'py2exe': {
            'optimize':2, 
            'bundle_files': 2, 
            'compressed': True, 
            'excludes':[],
            'dll_excludes':['w9xpopen.exe']
            }
        }
)

For apps running sans gui, you could use console=[...] instead of windows=[...].

Moratorium answered 30/1, 2016 at 21:7 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.