JonnyJD/python-discid

On Windows system wide discid.dll seems to be preferred over local version

Closed this issue · 5 comments

phw commented

This causes issues, as e.g. Picard might end up using a version of discid.dll not shiped with Picard.

In my case I had an older discid.dll in C:\bin (which is in my path), and in the Picard installation folder is the newer discid.dll version 0.6.1 shipped with the installer.

Is this a general ctypes issue or can this be influenced? Especially on Windows a local version should be preferred.

Hm, that is weird. That was already implemented a while ago (35ed421) I thought. (code now in libdiscid.py

Possibly the Picard installation has the discid.dll in a folder where it isn't expected? Although that would mean it wouldn't work at all without an installed libdiscid.
Maybe the dll has an unexpected name? python-discid searchs for: discid.dll (default VS etc.), libdiscid.dll and libdiscid-0.dll (MinGW and Cygwin compilations I think). Although all pre-compiled libdiscid packages ship discid.dll.

Possibly a problem in how py2exe works (similar to #42).

Anyways, right now (with that info) I can't say more than "This shouldn't be the case".

Another possibility: What is sys.platform for you? I do remember that was win32 even for 64 bit Windows, but I might be mistaken or it changed (possibly only when it is a 64 bit Python on a 64 bit Windows).
(see for example http://stackoverflow.com/a/2145582)

phw commented

Yes, sys.platform is always win32 for both 32 and 64 bit (I haven't checked it now, but I have checked that so often I can say for sure).

First I had a file libdiscid.dll in C:\bin and discid.dll in C:\Program Files (x86)\MusicBrainz Picard and I thought it was due to the name. But even if I rename the file in C:\bin to discid.dll that is preferred. If I remove it from C:\bin the one in Picards installation directory gets used.

phw commented

I have found the issue, it is actually a Picard installer bug :)

The shortcut created for Picard in the start menu does set the run folder to C:\Program Files (x86)\MusicBrainz Picard\locale. I will have a look why it does that (but I just did a reinstall to confirm)..

Sorry for creating useless tickets at the wrong place :(

Sorry for creating useless tickets at the wrong place :(

No problem. It is difficult to track down where the actual problem is sometimes.