-
AutoUpdater.NET
AutoUpdater.NET is a class library that allows .NET developers to easily add auto update functionality to their classic desktop application projects.
-
filediff
A small library for comparing published .NET Core directories. Uses the Microsoft.Extensions.DependencyModel library to compare .dll files. (by agreentejada)
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
sdk
Core functionality needed to create .NET Core projects, that is shared between Visual Studio and CLI (by dotnet)
I have a few desktop apps that uses AutoUpdater.NET to update the app on startup, as well as one app that's linked to a mapped drive. Since both apps are self-contained, it's always been a pain to update them - you either have to copy the entire 150 MB publish directory to your update location, or you have to pick and choose which binaries were updated, which you'd then push into a ZIP folder.
So, how do you compare publish folders then? With filediff! Instead of comparing bytes, filediff instead compares the .deps.json files between update folders using Microsoft.Extensions.DependencyModel. It then only extracts binaries which either do not exist in the old publish directory, or have an assemblyVersion or fileVersion different from binaries in the publish directory! After that, it does a fast byte-comparison for all the non-binary files, and put the extracts into a ZIP folder.
It actually has been for a while (.NET Core 1.0, I guess).