[Python-Dev] Adventures with x64, VS7 and VS8 on Windows

Kristján Valur Jónsson kristjan at ccpgames.com
Sat May 26 15:31:09 CEST 2007



> -----Original Message-----
>
> I personally think that if hostile users can replace DLLs on your
> system, you have bigger problems than SxS installation of
> pythhonxy.dll,
> but perhaps that's just me.
An end user application on an end-user's machine is always voulnerable
to reverse engineering.  But it helps to make it more difficult.
The old-style dll loader is a particular vulnerability which makes
it easy to patch into an application at load time.

> >> What about the registry?
> > I don't know about the registry, what is it used for?
>
> For two things, with different importance to different users:
> 1. File extensions are registered there, e.g. .py and .pyc.
>    With two binaries installed, the will stomp over each other's
>    file associations; only one of them can win.
Sure.  No argument about this.  But as with the explorer and other apps,
it is perfectly possible to manually start one or the other, autoclicking
on .py files isn't the only option.

> 2. Python installs keys under
>    HL{LM|CU}\Software\Python\PythonCore\<version>, namely
>    InstallPath
>    InstallGroup
>    PythonPath
>    Documentation
>    Modules
>
Funnily enough, Bill has thought of this too.  See http://support.microsoft.com/kb/305097/
for info.  Co-existence of 32 and 64 bit apps is supported.

>
> The two versions of MSIE actually *are* a big problem, that's
> why MS only runs the 32-bit IE, even on Win64 (otherwise, ActiveX
> controls downloaded from the net wouldn't work).
>
> Also, while they are both shipped, you can't the two versions of
> explorer.exe simultaneously (without trickery), so its far from
> simple.
The two versions aren't the problem, it is the backward support for
32 bit active thingies that are, as you point out.  There is confusion here:
internet explorer shipped in both versions.  The 32 bit version war default
for the above reason.  But explorer.exe (which I was talking about) also
had two versions.  The 64 bit version ran by default.
You may recall that before tortoise shipped a 64 bit version, one had to
kill explorer.exe and restart it (explorer32.exe IIRC) to get tortoise
to work.

Supporting both kinds (country and western) on the same machine might be helpful
to people for this very reason.  A lot of legacy modules are only avaible
in 32 bit mode.  But people may want to do contemporary development using the
new 64 bit mode.

Cheers,

Kristján


More information about the Python-Dev mailing list