mirror of https://github.com/yt-dlp/yt-dlp
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
b25522ba52
Closes: #335, https://github.com/ytdl-org/youtube-dl/issues/28488, https://github.com/ytdl-org/youtube-dl/issues/5810, https://github.com/ytdl-org/youtube-dl/issues/5994 In windows, a running executable cannot be replaced. So, the old updater worked by launching a batch script and then exiting, so that the batch script can replace the executable. However, this caused the above-mentioned issues. The new method takes advantage of the fact that while the executable cannot be replaced or deleted, it can still be renamed. The current update process on windows is as follows: 1. Delete `yt-dlp.exe.old` if it exists 2. Download the new version as `yt-dlp.exe.new` 3. Rename the running exe to `yt-dlp.exe.old` 4. Rename `yt-dlp.exe.new` to `yt-dlp.exe` 5. Open a shell that deletes `yt-dlp.exe.old` and terminate While we still use a subprocess, the actual update is already done before the app terminates and the batch script does not print anything to stdout/stderr. So this solves all the above issues |
4 years ago | |
---|---|---|
.. | ||
downloader | 4 years ago | |
extractor | 4 years ago | |
postprocessor | 4 years ago | |
YoutubeDL.py | 4 years ago | |
__init__.py | 4 years ago | |
__main__.py | 4 years ago | |
aes.py | 4 years ago | |
cache.py | 4 years ago | |
compat.py | 4 years ago | |
jsinterp.py | 4 years ago | |
options.py | 4 years ago | |
socks.py | 4 years ago | |
swfinterp.py | 4 years ago | |
update.py | 4 years ago | |
utils.py | 4 years ago | |
version.py | 4 years ago | |
webvtt.py | 4 years ago |