nicolaasjan Posted 19 hours ago Posted 19 hours ago By the way, during building the XP version, I get these warnings: 8852 WARNING: lib not found: fileextd.dll dependency of C:\Python311\KERNELxp.dll 8882 WARNING: lib not found: kernelex.dll dependency of C:\Python311\KERNELxp.dll 🤔
nicolaasjan Posted 14 hours ago Posted 14 hours ago 10 hours ago, VistaLover said: so I took that to mean: 1. You're gonna use adang1345's "CPython-3.14.0-win32" build to compile them, which is Vista+ compatible 2. Use the special, Vista-compatible, build of PyInstaller-6.15 (by 3dyd) to produce the standalone "yt-dlp_x86_win7.exe" binaries (as I believe was the case when preparing recent 3.13.7-based binaries) ... Why did you change plans ? Thanks again for your time and efforts ... I use adang1345's Python builds for both x86 and x86-64 builds. I have PyInstaller 6.16.0 for both and I can't remember having used PyInstaller 6.15 (by 3dyd) before this latest build for Win7... Btw, that `K32EnumProcessModules` error also happens on Vista when building with the latest Python 3.13.8 from adang1345 and PyInstaller 6.16. Maybe you could ask adang1345? Do you want me to "downgrade" to that custom PyInstaller (for the Win7 builds)?
VistaLover Posted 14 hours ago Posted 14 hours ago (edited) 6 hours ago, nicolaasjan said: I think that must be because I built directly after the standalone one, i.e. without deleting the build directory and start over. After I built the `onedir` version today from a fresh source directory, I got: [debug] yt-dlp version nicolaasjan/yt-dlp@2025.10.13.080600 (win_x86_dir) [debug] Python 3.11.4 (CPython x86 32bit) - Windows-XP-5.1.2600-SP3 (OpenSSL 3.5.2 5 Aug 2025) Thanks for the prompt explanation ; I'm probably being obsessive-compulsive here , but can you share the fixed "yt-dlp.exe" binary (I think that one only should suffice) inside the fixed (today's) "yt-dlp_x86_winXP.zip" archive? Many thanks indeed... Edited 12 hours ago by VistaLover
VistaLover Posted 13 hours ago Posted 13 hours ago (edited) 1 hour ago, nicolaasjan said: I use adang1345's Python builds for both x86 and x86-64 builds. I have PyInstaller 6.16.0 for both and I can't remember having used PyInstaller 6.15 (by 3dyd) before this latest build for Win7 Testing previous "yt-dlp_x86_win7.exe" assets from GH, https://github.com/nicolaasjan/yt-dlp/releases/download/2025.09.23.052315/yt-dlp_x86_win7.exe doesn't launch under Vista SP2 32-bit ("K32EnumProcessModules" error); this one uses adang's CPython-3.13.7-win32 implementation. Both the next two following releases, https://github.com/nicolaasjan/yt-dlp/releases/download/2025.09.27.071342/yt-dlp_x86_win7.exe https://github.com/nicolaasjan/yt-dlp/releases/download/2025.10.05.061237/yt-dlp_x86_win7.exe launch fine here (Vista SP2 32-bit, see also my previous post); these two also use adang's CPython-3.13.7-win32 implementation. You've told us you build yourself the "win7" assets manually and then upload them to GH; so, what was the change between v2025.09.23.052315 and v2025.09.27.071342 in your building env that enabled Vista support for the latter (and the one after it) ? Likewise, what was the change, besides the CPython upgrade from 3.13.7 -> 3.14.0, that removed Vista support in https://github.com/nicolaasjan/yt-dlp/releases/download/2025.10.13.080600/yt-dlp_x86_win7.exe ? 1 hour ago, nicolaasjan said: Maybe you could ask adang1345? IMHO, this is not the root cause; see my comment just above about "v2025.09.23.052315 vs v2025.09.27.071342"; in any case, he's just providing a Vista-compatible Python interpreter, fixing the various Python modules shouldn't be his concern ... 1 hour ago, nicolaasjan said: I have PyInstaller 6.16.0 for both and I can't remember having used PyInstaller 6.15 (by 3dyd) before this latest build for Win7... Btw, that `K32EnumProcessModules` error also happens on Vista when building with the latest Python 3.13.8 from adang1345 and PyInstaller 6.16. My impression so far about the PyInstaller Python module is: 1. PyInstaller==5.13.2 is the last one which produces XP+Vista compatible packages; but this one doesn't support py>3.12 2. PyInstaller >=6.0.0 target by default Win7+ systems (ofc, I haven't tested myself all individual versions 6.0.0-6.16.0); they say so on the module's PyPI page: Quote Windows (32bit/64bit/ARM64): PyInstaller should work on Windows 7 or newer, but we only officially support Windows 8+. So, my educated guess is that v6.16.0 produces, by default, Win7+-compatible binaries (but does this "default" depend on the actual OS the module is being run on? Have you tried building the "win7_x86" variants on a Vista VM with adang's CPython?) 3dyd's PyInstaller==6.15.0 fork is special in that it makes sure the produced binary retains NT6.0 support, because: https://github.com/3dyd/pyinstaller-builds/blob/d1a786dcb4316557df3c97f14e16cac7092b744c/.github/workflows/build-package.yml#L44 CFLAGS=-DPSAPI_VERSION=1 LDFLAGS=-lpsapi python waf all --target-arch=32bit --gcc where "CFLAGS=-DPSAPI_VERSION=1" is the crucial configuration! That is why I was, up until now, under the impression the working v2025.09.27.071342 and v2025.10.05.061237 yt-dlp_x86_win7.exe binaries had been compiled with 3dyd's PyInst mod... 1 hour ago, nicolaasjan said: Do you want me to "downgrade" to that custom PyInstaller (for the Win7 builds)? Right now, "we" should get to the bottom of this conundrum; but my clairvoyant skills are limited here; I've already described all I could think of ; as for using 3dyd's mod for the "win7" assets (since you're adamant you haven't used it until now), this won't hurt at all the Win7 users; plus, GH offers some extended retention of previous builds (10 last), whereas the dropbox "Vista" links expire/404/change etc., with the newer "Vista" build overwriting the previous one... As for the "downgrade", we can always nudge 3dyd for a newer build, though your previous request in his tracker has been standing idle thus far ... Thanks again (and really sorry for being a PITA ) ... Edited 12 hours ago by VistaLover
nicolaasjan Posted 12 hours ago Posted 12 hours ago 2 hours ago, VistaLover said: can you share the fixed "yt-dlp.exe" binary (I think that one only should suffice) inside the fixed (today's) "yt-dlp_x86_winXP.zip" archive? Many thanks indeed... Edited 37 minutes ago by VistaLover I'll send the whole zip file. 1
VistaLover Posted 11 hours ago Posted 11 hours ago 40 minutes ago, nicolaasjan said: I'll send the whole zip file. ; and as I had suspected, just the "yt-dlp.exe" file was enough ; and if you 1. delete the 4 wrapper DLLs targeting XP (kernelxp.dll, ntext.dll, psapi.dll, ws2_xx.dll) 2. substitute files python311.dll, _overlapped.pyd, _socket.pyd with their Vista counterparts (thanks, cmalex ), you can even run the "onedir" distribution under Vista SP2 32-bit: yt-dlp -v [debug] Command-line config: ['--ffmpeg-location', '<redacted>\\FFmpeg', '--downloader-args', 'ffmpeg:-v 8 -stats', '-v'] [debug] Encodings: locale cp1253, fs utf-8, pref cp1253, out utf-8 (No VT), error utf-8 (No VT), screen utf-8 (No VT) [debug] yt-dlp version nicolaasjan/yt-dlp@2025.10.13.080600 (win_x86_dir) [debug] Python 3.11.4 (CPython x86 32bit) - Windows-Vista-6.0.6003-SP2 (OpenSSL 3.5.2 5 Aug 2025) [debug] exe versions: ffmpeg n8.1-dev-630-N-121254-g635cb45 (setts), ffprobe n8.1-dev-630-N-121254-g635cb45 [debug] Optional libraries: Cryptodome-3.23.0, brotli-1.1.0, certifi-2025.10.05, mutagen-1.47.0, requests-2.32.5, sqlite3-3.50.4, urllib3-2.5.0, websockets-15.0.1 [debug] Proxy map: {} [debug] Request Handlers: urllib, requests, websockets [debug] Plugin directories: none [debug] Loaded 1834 extractors Usage: yt-dlp_x86 [OPTIONS] URL [URL...] yt-dlp_x86: error: You must provide at least one URL. Type yt-dlp --help to see a list of all options. Best wishes ... 1
nicolaasjan Posted 11 hours ago Posted 11 hours ago 1 hour ago, VistaLover said: so, what was the change between v2025.09.23.052315 and v2025.09.27.071342 in your building env that enabled Vista support for the latter (and the one after it) ? I'm sorry. I have no idea... Quote Have you tried building the "win7_x86" variants on a Vista VM with adang's CPython?) Yes, that is the special yt-dlp_Py3.14.0_x86_Vista. Quote IMHO, this is not the root cause; see my comment just above about "v2025.09.23.052315 vs v2025.09.27.071342"; in any case, he's just providing a Vista-compatible Python interpreter, fixing the various Python modules shouldn't be his concern ... True, but maybe he has an idea. I'm as puzzled as you are in this case... In the meantime, I'll use the 3dyd PyInstaller the next time for the Windows 7 builds.
nicolaasjan Posted 10 hours ago Posted 10 hours ago Can you test this Win7 build: yt-dlp_x86_win7.7z ? Built with adang1345's Py3.14 with custom PyInstaller 6.15 on Windows 10.
Reino Posted 6 hours ago Posted 6 hours ago On 10/13/2025 at 8:14 PM, nicolaasjan said: Updated yt-dlp_Py3.14.0_x86_Vista. (with IOS patch ) @Reino; Please test if this still suits your needs. It does. Thank you! I can confirm, the binary works on Win11 Pro (on my brand new Framework Desktop). 1
VistaLover Posted 5 hours ago Posted 5 hours ago 2 hours ago, nicolaasjan said: 4 hours ago, VistaLover said: so, what was the change between v2025.09.23.052315 and v2025.09.27.071342 in your building env that enabled Vista support for the latter (and the one after it) ? I'm sorry. I have no idea... ... At least I got this figured out, as it was seriously bugging me ; the "what" is hidden inside a changelog: https://github.com/adang1345/PythonVista/blob/master/CHANGELOG.md Your v2025.09.23.052315 yt-dlp_x86_win7.exe binary has been compiled with a flavour of 3.13.7 which, at that time, supported only Win7+ ; Vista support for 3.13.7 came on Sep 25th, 2 days after v2025.09.23.052315 was built, but in time for the v2025.09.27.071342 to be built with a Vista-enabled 3.13.7 interpreter (this assumes you manually updated to the Vista-compat flavour of 3.13.7) ... What is still unclear to me is: a) were both versions built on the same OS (Win7 SP1 ?) ? b) were both versions packaged with "official" PyInstaller-6.16.0 ? v2025.09.27.071342: [debug] yt-dlp version nicolaasjan/yt-dlp@2025.09.27.071342 (win7_x86_exe*) [debug] Python 3.13.7 (CPython AMD64 32bit) - Windows-Vista-6.0.6003-SP2 (OpenSSL 3.0.16 11 Feb 2025) and v2025.10.05.061237 [debug] yt-dlp version nicolaasjan/yt-dlp@2025.10.05.061237 (win7_x86_exe*) [debug] Python 3.13.7 (CPython AMD64 32bit) - Windows-Vista-6.0.6003-SP2 (OpenSSL 3.0.16 11 Feb 2025) have been both compiled on a 64-bit OS, with the 32-bit build of Vista-compatible 3.13.7; why, then, is the next v2025.10.13.80600, built on a Vista-compatible 3.14.0, broken on actual Vista SP2 32-bit? I have a hunch, based on adang1345's notes: https://github.com/adang1345/PythonVista/blob/master/README.md Quote Modify the Python source code to restore compatibility with Windows Vista SP2 and Windows Server 2008 SP2. At runtime, check whether a possibly unsupported Windows API function exists on the current system and use an alternative if it does not. So, the same 3.14.0 CPython will behave differently when run on a Win7 machine to when run on a Vista machine; likewise for the PyInstaller-packaged resultant yt-dlp_x86.exe binaries; but this theory doesn't explain builds v2025.09.27.071342+v2025.10.05.061237 (which run OK on Vista), unless they were also compiled on a Vista SP2 64-bit VM ... FWIW, adang1345 has made a new release of 3.13.9 less than an hour ago, https://github.com/adang1345/PythonVista/tree/master/3.13.9 and issued a re-release of 3.14.0 along with the above: https://github.com/adang1345/PythonVista/tree/master/3.14.0 His changelog only mentions the addition of 3.13.9, though ... 4 hours ago, nicolaasjan said: Yes, that is the special yt-dlp_Py3.14.0_x86_Vista. This one launches OK: [debug] yt-dlp version local@2025.10.13 [eafedc218] (win_x86_exe) [debug] Python 3.14.0 (CPython AMD64 32bit) - Windows-Vista-6.0.6003-SP2 (OpenSSL 3.0.18 30 Sep 2025) Was a Vista SP2 64-bit VM used in this case? And which PyInst version? 4 hours ago, nicolaasjan said: Can you test this Win7 build: yt-dlp_x86_win7.7z ? Built with adang1345's Py3.14 with custom PyInstaller 6.15 on Windows 10. This one launches fine : yt-dlp_x86_win7.exe -v [debug] Command-line config: ['-v'] [debug] Encodings: locale cp1253, fs utf-8, pref cp1253, out cp1253 (No VT), error cp1253 (No VT), screen cp1253 (No VT) [debug] yt-dlp version nicolaasjan/yt-dlp@2025.10.13.080600 (win7_x86_exe*) [debug] Python 3.14.0 (CPython x86 32bit) - Windows-Vista-6.0.6003-SP2 (OpenSSL 3.0.18 30 Sep 2025) [debug] exe versions: none [debug] Optional libraries: Cryptodome-3.23.0, brotli-1.1.0, certifi-2025.10.05, mutagen-1.47.0, requests-2.32.5, sqlite3-3.50.4, urllib3-2.5.0, websockets-15.0.1 [debug] Proxy map: {} [debug] Request Handlers: urllib, requests, websockets [debug] Plugin directories: none [debug] Loaded 1834 extractors Usage: yt-dlp_x86_win7.exe [OPTIONS] URL [URL...] yt-dlp_x86_win7.exe: error: You must provide at least one URL. Type yt-dlp --help to see a list of all options. 5 hours ago, nicolaasjan said: I'm as puzzled as you are in this case... Less puzzled now , but still with unanswered questions ... Time to call it a night, regards...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now