egram.tel
egram.tel copied to clipboard
Autoupdater
Autoupdater should be implemented as soon as possible to keep users on up to date version. Depends on https://github.com/egramtel/egram.tel/issues/19
Where would you want to store new versions?
- Combine all the projects as a one nuget-package and pull it with each global realese? aka
Microsoft.AspNetCore.All
- Turn each project into a nuget package and pull them by minor realeses?
There should be some kind of a distribution plan – we want just a simple executable file, like it's done in the classis telegram desktop app, or there would be many packages(dlls) across the app directory.
In the first case i would suggest using ILMerge, altho i don't really know how much stable it is with Fody.
I think updating each project separately is too complex for now. Also I am fine with having multiple dlls: ILMerge docs say "Currently, ILMerge works only on Windows-based platforms".
Interesting idea about distributing app with NuGet. Would it work with binaries compiled to target platform (Mac, Linux, Windows)? I don't want to force users to install .net core on their machines.
I think updating each project separately is too complex for now. Also I am fine with having multiple dlls: ILMerge docs say "Currently, ILMerge works only on Windows-based platforms".
@x2bool, oh yeah, sorry, i meant Mono linker.
Would it work with binaries compiled to target platform (Mac, Linux, Windows)? I don't want to force users to install .net core on their machines.
So you want to compile it to native binaries with an AOT compilation or just a self-contained version? If the second one, then it should be alright – if there's a new version of any package just replace the dll, it should work, would need to parse the .deps file and detect which package should be updated and which not of course.
Just self-contained version built for target platform.
For autoupdate, there're the following options:
- Sparkle (macOS) / winsparkle (Windows)
- https://github.com/Squirrel
@ForNeVeR At first glance it's unclear whether we could use these frameworks. Mac installers seem to be tied to Cocoa apps. I am not sure though.
Also there is https://github.com/Tyrrrz/Onova. Haven't used it, though.