On Tue, Apr 9, 2013 at 12:17 PM, Grant Edwards <invalid@invalid.invalid> wrote: > Disclaimer: I'm a Unix guy and have been since the days of V7 on a > PDP-11 -- I rarely use MS Windows. > > While I don't normally use Windows, I do occasionally have Python > applications (written under Linux) which I'd like to distribute to > Windows users. I've always used py2exe and Inno Setup to that, and > it's always worked OK (after a fair bit of stumbling around). > > My "Windows partition" currently has a 64-bit Windows 7 Ultimate > installation. > > I'm told that the executable I generate on that machine won't run on > Win7 32-bit installations. I'm not surprised by that, but I'd like to > provide 32-bit operability -- and I'm not sure how one does that. > > * If I built an executable on a 32-bit windows system using py2exe, > would it be usable on a 64-bit install?
Yes, 64-bit Windows systems will run 32-bit executables. > * Is there such a thing as a "fat" Windows binary that will run on > both 32 and 64 bit systems? With .NET applications you can choose an AnyCPU build target that will dynamically select 32-bit or 64-bit at runtime based on the host OS, but there is no such feature for native applications like CPython. > * Or do you build separate 32 and 64 bit binaries and rely on the > installer to pick the right files? [If Inno Setup can't do that, I > can probably get somebody else to build the installer using > something that can.] You could do that. The easiest thing to do though is just to make sure that your 64-bit Windows installation is using a 32-bit Python installation. py2exe doesn't really build anything; it just bundles your source files up with the Python interpreter, so as long as that interpreter is 32-bit the generated exes should be able to run on either platform. -- http://mail.python.org/mailman/listinfo/python-list