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

Peter Hansen
  • 21,046
  • 5
  • 50
  • 72
Malcolm
  • 5,125
  • 10
  • 52
  • 75

3 Answers3

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.

YOU
  • 120,166
  • 34
  • 186
  • 219
  • 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! - Malcolm – Malcolm Dec 16 '09 at 15:18
  • 1
    I am building a [single-file executable](http://stackoverflow.com/a/113014/1497596), 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.) – DavidRR Feb 05 '15 at 17:38
0

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

Prav
  • 381
  • 1
  • 2
  • 12
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=[...].

Matt Coubrough
  • 3,739
  • 2
  • 26
  • 40