Tyrrrz / YoutubeDownloader

Downloads videos and playlists from YouTube
MIT License
8.71k stars 1.19k forks source link

Automatic updating via the app doesn't work #353

Closed giwrgosmant closed 1 year ago

giwrgosmant commented 1 year ago

Version

1.10.1

Details

I am currently on version, 1.9.13, when I open the app it downloads the new version 1.10.1, I press install, the app closes itself and nothing happens. When I open the app again, it's still on the same version 1.9.13 and downloading again the update etc. in a loop.

I remember I had this issue on previous release too and I had to clean install the version (manually download and install the new update). It seems it's the same issue wth this #323, I don't know how @ToxiClay managed to fix it 🤔

I am on Windows 11 with Windows Desktop Runtime 7.0.8 (x64).

Steps to reproduce

Tyrrrz commented 1 year ago

Hmm, are you sure you're on 1.9.13 and not 1.9.12? Because the latter was the version with the broken auto-update.

Anyway, try going to %localappdata%/Onova/YoutubeDownloader and copy-paste Log.txt (or Onova.log, I forget which way it's called) here.

giwrgosmant commented 1 year ago

Hi, yeap it's 1.9.13, here is the log. [Log deleted since the issue is solved] I also see there is a folder with the new version 1.10.1 in the %localappdata%/Onova however it doesn't updating app. Perhaps some permission issue in the place I have the app folder? I always had "YoutubeDownloader" folder, inside a folder called "Portable Apps" in C: directory.

ToxiClay commented 1 year ago

https://github.com/Tyrrrz/YoutubeDownloader/issues/323

This is coming around again, I see. It happened to me again, too, on the update from 1.9.13 to 1.10.1.

Anyway, try going to %localappdata%/Onova/YoutubeDownloader and copy-paste Log.txt (or Onova.log, I forget which way it's called) here.

Oho. We got 'em, boys.

16-Jul-2023 22:06:39.961> Onova Updater v2.6.9.0 started with the following arguments:
- UpdateeFilePath = C:\Users\Omega\Downloads\YoutubeDownloader\YoutubeDownloader.dll
- PackageContentDirPath = C:\Users\Omega\AppData\Local\Onova\YoutubeDownloader\1.10.1
- RestartUpdatee = True
- RoutedArgs = 
16-Jul-2023 22:06:39.964> Waiting for updatee to exit...
16-Jul-2023 22:06:39.965> Copying package contents from storage to the updatee directory...
16-Jul-2023 22:06:40.021> System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Users\Omega\Downloads\YoutubeDownloader\runtimes\win-x86\native\WebView2Loader.dll'.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
   at Onova.Updater.Utils.DirectoryEx.Copy(String sourceDirPath, String destDirPath, Boolean overwrite)
   at Onova.Updater.Updater.ApplyUpdate()
   at Onova.Updater.Updater.Run()

Here's our trouble:

16-Jul-2023 22:06:40.021> System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Users\Omega\Downloads\YoutubeDownloader\runtimes\win-x86\native\WebView2Loader.dll'.

Up to and including 1.9.13, that folder was not included in the releases, which caused the auto-update to snap in half.

1.10 and 1.10.1 include that folder, and so, going forward, auto-updates should behave as expected.

Edit: No, sorry, I forget what exactly I did to resolve it, other than just refreshing. I didn't know the log existed at the time, else I would have checked it.

Tyrrrz commented 1 year ago

Thanks a lot for the logs, I've identified the issue. It's an old (but different from the existing issues) problem that was inadvertently exposed by the recent changes.

Tyrrrz commented 1 year ago

As a crude test, can you please replace the Onova.dll file in the app directory with the file from this archive? And then try running the app again and let it update.

Onova.zip

giwrgosmant commented 1 year ago

As a crude test, can you please replace the Onova.dll file in the app directory with the file from this archive? And then try running the app again and let it update.

Onova.zip

Thanks, I tested it and working fine now.