Update_Checker 0.2.0-beta
See the version list below for details.
dotnet add package Update_Checker --version 0.2.0-beta
NuGet\Install-Package Update_Checker -Version 0.2.0-beta
<PackageReference Include="Update_Checker" Version="0.2.0-beta" />
paket add Update_Checker --version 0.2.0-beta
#r "nuget: Update_Checker, 0.2.0-beta"
// Install Update_Checker as a Cake Addin
#addin nuget:?package=Update_Checker&version=0.2.0-beta&prerelease
// Install Update_Checker as a Cake Tool
#tool nuget:?package=Update_Checker&version=0.2.0-beta&prerelease
Update-Checker
ChobbyCode Update Checker is a free open source tool designed to make checking for updates easier. The application is run on a DLL. The DLL can be shipped with the application. Unlike old DLL's this DLL cannot be broken as c# DLL's are shipped with the application so legacy features can be kept 😃
Why use this
- ✅ - Makes code tidier
- ✅ - Simple & Easy
- ✅ - 4 Click Install
Features
- ✅ - Checking for updates
- ✅ - Data caching to reduce API calls
- ✅ - Automatic Downloads (via Chill)
- ❌ - Access private repos using auth key
If you want to contribute fork the repository then create a push request and I will review your code and add or decline it.
Installation
NuGet
Click here to view the NuGet page of the file. Or in Visual Studios add NuGet package called Update_Checker by ChobbyCode and make sure show prereleases is enabled.
Manual Installation
Dependencies
Update-Checker requires NetwonSoft as a NuGet Package, if you do not have already download the NuGet package, learn how to add it here.
Downloads
To install Update-Checker simpily navigate to the 'Releases' and download the latest DLL. You can store the DLL anywhere on your computer but I recommend storing it in a folder which you will not forget about. You can also store the DLL in your application. This doesn't really need to be done as the DLL is copied when the application is build. So it can be just stored in a folder on the Desktop.
Next we need to add the Update-Checker to the application,
This can be done by navigating to the Project in the solution explorer > Add > Project Reference
In project references go down to Browse, if you have added the DLL before just make sure it is checked and click if okay. If you haven't added the DLL before then go to the bottom right click Browse. Then navigate to the location where you stored the DLL file. Make sure the DLL file is checked and click okay.
Usage
Setup
Update-Checker requires its own function to run all the operations in. You can have as many of these functions as you want but they cannot be called the same thing for clear reasons.
At the top of you class file include the Update-Checker.
using Update_Checker;
Create a new method which can run the Update Checker methods. In the method create a instance of the UpdateChecker class. This method cannot return any information and must be ran async from the main program. Change the method's name to something more appropriate for what the class is doing.
public static async void doStuff()
{
// Create a instance of the UpdateChecker class
UpdateChecker checker = new UpdateChecker();
}
Checking for updates
In the UpdateChecker function we can call the different functions.
First we need to setup the repo which UpdateChecker will be accessing. Change the OWNERNAME to your github username, then set REPONAME to the name of repo you are trying to get the current version of
checker.OWNERNAME = "ChobbyCode";
checker.REPONAME = "Update-Checker";
We can quickly get to see if there is a update by using the method CheckForUpdates and passing in the current version. The CheckForUpdates method returns a bool which returns true if there is an update and false if there is not
IMPORTANT: When calling a UpdateChecker method make sure it is awaited. i.e "await checker.LatestUpdateTag".
// Checks for updates
string currentVersion = "v0.1.0"
bool isUpdate = await checker.CheckForUpdates(currentVersion); // Checks for update with current version and stores in variable
if(isUpdate){
// Do update stuff here
}
If you want to reduce the amount of lines you can do as below. Both of the code snippets do the same thing.
if(await checker.CheckForUpdates("v0.1.0")){
// Do update stuff here
}
Simple Demo
public static async void checkForUpdate()
{
UpdateChecker checker = new UpdateChecker();
checker.OWNERNAME = "ChobbyCode";
checker.REPONAME = "Update-Checker";
string currentVersion = "v0.1.0";
string latestVersion = await checker.LatestVersionTag();
if(await checker.CheckForUpdates(currentVersion))
{
Console.WriteLine("There is an update available. Update " + latestVersion + " is available.");
}
}
Sees if there is a new update available. If there is a new update available it prints there is a new update available to the console and the latest version.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp1.0 was computed. netcoreapp1.1 was computed. netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard1.0 is compatible. netstandard1.1 was computed. netstandard1.2 was computed. netstandard1.3 was computed. netstandard1.4 was computed. netstandard1.5 was computed. netstandard1.6 was computed. netstandard2.0 was computed. netstandard2.1 was computed. |
.NET Framework | net45 was computed. net451 was computed. net452 was computed. net46 was computed. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen30 was computed. tizen40 was computed. tizen60 was computed. |
Universal Windows Platform | uap was computed. uap10.0 was computed. |
Windows Phone | wp8 was computed. wp81 was computed. wpa81 was computed. |
Windows Store | netcore was computed. netcore45 was computed. netcore451 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
- Newtonsoft.Json (>= 13.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated | |
---|---|---|---|
0.3.0 | 91 | 1/27/2024 | |
0.3.0-SR2 | 88 | 9/9/2023 | |
0.2.11-SR | 83 | 9/7/2023 | |
0.2.0-beta | 82 | 9/3/2023 | |
0.1.0-beta | 105 | 9/1/2023 |
Update Log
- Added support for chill update (allows auto updates)
- Bug Fixes