简体   繁体   中英

executable made with py2exe doesn't run on windows xp 32bit

I created an executable with py2exe on a 64bit windows 7 machine, and distributed the program.

On a windows xp 32bit machine the program refuses to run exhibiting the following behavior:

a popup window says: program.exe is not a valid win32 application.

The command prompt window says "access denied"

I checked for permissions and the user has full control and complete ownership of the file and its parent directories. So that can't be the issue.

The only feasible possibility I can image is an OS/architectural incompatibility. How should I fix this?

My setup.py file used to generate the executable:

from distutils.core import setup
import py2exe

setup(console=['xerxes2excel.py'])

I ran the following to generate the exe:

python setup.py py2exe

我想你只需要在你的机器上安装32位python和32位py2exe ....参见64位python可以创建32位Windows可执行文件

A common problem when you generate executable on Windows 7 and deploy on Windows XP.

According with the py2exe tutorial, you need include the MVC DLL. But the tutorial is old and the script given search only in one directory. Before, the directory contained all DLL and the manifest, but nowadays it contains only the DLL. You need to specify another directory for the manifest file. If you don't do that, you will have this kind of error:

this application has failed to start because the application configuration is incorrect

If you are on Windows 7 64 bits, you need the Microsoft Visual C runtime DLL. Don't forget the manifest that isn't in the same directory in Windows 7. You need to adapt the script like this:

data_files = [("VC90", glob(r'C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_bcb86ed6ac711f91\*.*')),
            ("VC90", glob(r'C:\Windows\winsxs\Manifests\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_bcb86ed6ac711f91.manifest'))
]
setup(
    data_files=data_files,
    console = [{'script': "C:\test\my_program.py"}],
    zipfile = None,
)

Now you can deploy the "dist" directory that contains all files and dependencies.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM