Uwe Stöhr wrote:
> Dominik Waßenhoven schrieb:
> 
>> On the Vista machine, I had no Python installed and the lyx2lyx script
>> failed. I now installed Microsoft's VC++ redistributable package, as
>> suggested by Paul Rubin, and now the lyx2lyx script works. So I think
>> there is a problem with the python.exe and/or python26.dll which are in
>> the bin directory of LyX 1.6.
> 
> But I also had no Python installed on this Vista machine, only installed
> LyX using my installer and it worked. I also got feedback that it works
> for others too.

It appears the bundled Python requires a particular release of
Microsoft's C runtime. There are approximately a zillion releases of
the MSVC runtime, all mutually incompatible.

For years, Microsoft handled this by changing the name of the MSVC
runtime DLLs with each release. More recently, when someone decided
it'd be good to have more incompatible runtime versions than would fit
in a single MSVC release cycle, they invented the "Side by Side"
versioning method, which has the advantages of being a black box,
completely different from previous Windows DLL versioning mechanisms,
and entirely mysterious, opaque, and frustrating for users.

Side-by-Side sticks various releases of the MSVC runtime in
directories under %windir%\winsxs.

Product installers are supposed to include the MSVC redistributable
package for the particular MSVC version they need, which will get
installed in Side-by-Side if it's not already present.

Probably, people who don't have problems with the minimal Python
included with Uwe's installer already have the necessary MSVC
redistributable on their machine from some other product installation.

The fix would be to include the appropriate MSVC redistributable in
Uwe's LyX installer. Note that it may have to be updated any time the
Python binaries are updated, since they might be linked with a
different MSVC version.

Sure makes SVR4 shared object versioning look good, doesn't it?

-- 
Michael Wojcik
Micro Focus
Rhetoric & Writing, Michigan State University

Reply via email to