pia-foss / desktop

Private Internet Access - Desktop VPN Client for Windows/macOS/Linux
Other
263 stars 50 forks source link

Don't put commonly-used DLLs on the Windows system path #49

Closed friedlinguini closed 10 months ago

friedlinguini commented 1 year ago

Is your feature request related to a problem? Please describe. On the Windows version, PIA apparently uses, but does not include, several binary libraries. I was updating an application, but was unable to, because several of its libraries were in use: libEGL.dll, libgcc_s_seh-1.dll, libGLESv2.dll, libstdc++-6.dll, and libwinpthread-1.dll. Trying to delete the same libraries manually via File Explorer showed that they were in use by PIA. My assumption is that the other application has its binaries in the system path, and PIA found them and opened them, preventing me from deleting them. My supposition is that PIA is using Qt5, which is in turn looking for plugin libraries for a GUI backend.

Describe the solution you'd like I suggest moving these libraries to a subdirectory that is off the system path. Alternatively, linking them statically should also work.

Describe alternatives you've considered I've also filed a bug against the other application, but this seems like a straightforward change that would prevent the problem defensively.

banister commented 10 months ago

WIthout knowing exactly the paths in question it’s hard to say, but if the DLLs are really on the system path (the defaults lookup paths by the DLL loader) then I believe they’re fair game for PIA to load. I’ll close this for now, but if you disagree or can provide more information that PIA is really at fault, I’m happy to re-open, thanks :)