[reportlab-users] Installer needs a bit of help on 64 bit Windows Server
Robin Becker
robin at reportlab.com
Thu Sep 9 12:59:30 EDT 2010
On 09/09/2010 14:37, Paul Keating wrote:
> Robin
>
> Everything Python-related on this box is 64 bit. Python is embedded in the application I support, and the users need the 64-bit client to solve memory problems, which means the Python interpreter is 64-bit, and so every embedded import statement has to name a library that runs under 64 bit. That's no problem with Python or the standard library, of course, but with extensions in DLLs it is. 32-bit .pyd files don't work. This has given me a few grey hairs, because some of the Windows packagers haven't got around to 64-bit support yet (PySvn, PIL to name two).
>
> I think you could quite easily go on using bdist_wininst. The only issue is that its check for the presence of a Python installation is a bit out of date, because it only looks for a 32-bit Python and doesn't see a 64-bit Python.
>
> I see you've already got in touch with the distutils maintainers about this. I've never looked inside distutils, and I have an idea there's quite a lot of black magic in there. So I wouldn't hazard a guess about how hard it is to fix.
>
> If it does turn out to be something best left to the core team, as a temporary workaround, a program that copies HKLM\Software\Python\PythonCore\n.n\InstallPath to HKLM\Software\Wow6432Node\Python\PythonCore\n.n\InstallPath, to be run ahead of the install, would do the trick and shouldn't take very long to write. I might even write one myself for when this goes into production.
>
>
> Regards
.......
I'm a bit confused here, are you using
http://www.reportlab.com/ftp/c or similar?
I've been looking in the distutils command folder and see this set of exe's
wininst-6.0.exe wininst-8.0.exe wininst-9.0-amd64.exe
wininst-7.1.exe wininst-8_d.exe wininst-9.0.exe
I'm not exactly sure about the naming convention here, but it looks like the
amd64 wininst is supported by Python2.6 at least as distutils code is using -9.0
for the exe.
I think the coding for looking up the python version is in the C code install.c
and it's pretty hairy. I don't see any architecture checking though.
--
Robin Becker
More information about the reportlab-users
mailing list