{"id":13594293,"url":"https://github.com/dbforge/nUpdate","last_synced_at":"2025-04-09T07:31:31.916Z","repository":{"id":12729000,"uuid":"15401872","full_name":"dbforge/nUpdate","owner":"dbforge","description":"A comfortable update solution for .NET-applications.","archived":false,"fork":false,"pushed_at":"2023-08-18T08:17:16.000Z","size":12565,"stargazers_count":448,"open_issues_count":11,"forks_count":70,"subscribers_count":39,"default_branch":"master","last_synced_at":"2024-08-02T16:51:41.965Z","etag":null,"topics":["automated","c-sharp","dotnet","fast","install","large","microsoft","operation","package","patch","process","registry","rsa","security","service","signing","signing-keys","update","update-service","updater"],"latest_commit_sha":null,"homepage":"https://www.nupdate.net","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dbforge.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2013-12-23T18:28:57.000Z","updated_at":"2024-07-08T08:32:25.000Z","dependencies_parsed_at":"2024-01-13T16:24:57.367Z","dependency_job_id":"28992886-4bb7-4a24-a0dd-84710eb3eb6a","html_url":"https://github.com/dbforge/nUpdate","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbforge%2FnUpdate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbforge%2FnUpdate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbforge%2FnUpdate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbforge%2FnUpdate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dbforge","download_url":"https://codeload.github.com/dbforge/nUpdate/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223375292,"owners_count":17135342,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automated","c-sharp","dotnet","fast","install","large","microsoft","operation","package","patch","process","registry","rsa","security","service","signing","signing-keys","update","update-service","updater"],"created_at":"2024-08-01T16:01:31.417Z","updated_at":"2024-11-06T16:31:08.743Z","avatar_url":"https://github.com/dbforge.png","language":"C#","readme":"![nUpdate Logo](https://www.nupdate.net/nupdate_header.png)\n\n# nUpdate - .NET Update Solution\n\n[![Release](https://img.shields.io/badge/release-v4.0-blue.svg)](https://github.com/dbforge/nUpdate/releases)\n[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/ProgTrade/nUpdate/master/LICENSE)\n[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026business=dominic%2ebeger%40hotmail%2ede\u0026lc=DE\u0026item_name=nUpdate\u0026no_note=0\u0026currency_code=EUR\u0026bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHostedGuest)\n\nnUpdate is a powerful update system for .NET applications.\nProviding high security and an easy-to-use user interface, it is the perfect solution for your software.\n\n![](https://www.nupdate.net/img/new-updates.png)\n![](https://www.nupdate.net/img/updates-download.png)\n\n## Features\n\n- Remote update package control and management\n- Many configuration settings\n- Operations let you access the file system, the registry and add the possiblity to start or stop processes and services, when installing an update. You can even execute a small C#-script.\n- Automated updating for all clients\n- Secured update packages by signing with SHA512 and 8192 Bit RSA-keys\n- Built-in user interface or a custom user interface can be used\n- Interfaces, service providers and the Event-based/Task-based asynchronous pattern add a lot of flexiblity\n- Smart statistics about the downloads of your published updates\n- Supports very large update packages\n- ...\n\n## Specs and requirements\n\nThe pure `nUpdate` library is based on .NET standard 2.0.\nThis means your project needs to fulfill one of these requirements:\n\n- .NET Framework \u003e= 4.6.1\n- .NET Core \u003e= 2.0\n- UWP \u003e= 10.0.16299\n\nAll other libraries in the solution use the .NET Framework 4.6.1.\n\n## Installation\n\nYou can get the necessary libraries and applications from the current [releases](https://github.com/dbforge/nUpdate/releases). The nUpdate library itself can also be installed in your application using the NuGet package manager.\n\n### Using NuGet\n\n```\nPM\u003e Install-Package nUpdate -Version 4.0.0\n```\n\n## Usage example\n\n### Simple integration\n\nSpecify the current client version inside Properties \u003e AssemblyInfo.cs\n\n``` c#\n[assembly: nUpdateVersion(\"1.0.0.0\")]\n```\n\nor inside the constructor of the `UpdateManager` class (is `null` by default):\n\n``` c#\nvar manager = new UpdateManager(\n    new Uri(...), \"PublicKey\", CultureInfo.Foo, new UpdateVersion(\"1.0.0.0\"));\n```\n\n**Note**: One of the both needs to be specified. If both are specified, the version specified in the constructor parameter will be used.\nWhen none of them is specified, an exception will be thrown.\n\n### Using the integrated user interface (Windows Forms or WPF)\n\nThe package `nUpdate.UI.WindowsForms` provides a built-in user interface for Windows Forms application. Install it via NuGet:\n\n```\nPM\u003e Install-Package nUpdate.UI.WindowsForms -Version 1.0.0\n```\n\nTo use the built-in WPF user interface, you need to install `nUpdate.UI.WPF`:\n\n```\nPM\u003e Install-Package nUpdate.UI.WPF -Version 1.0.0\n```\n\nBoth projects give you an `UpdaterUI` class that you can use as follows:\n\n``` c#\n// Generated via nUpdate Administration \u003e Open project \u003e Overview \u003e Copy source\nvar manager = new UpdateManager(\n    new Uri(...), ...);\n\nvar updaterUI = new UpdaterUI(manager, SynchronizationContext.Current);\nupdaterUI.ShowUserInterface();\n```\n\n### Using no user interface (synchronously)\n\n``` c#\n// Generated via nUpdate Administration \u003e Open project \u003e Overview \u003e Copy source\nvar manager = new UpdateManager(\n    new Uri(...), ...);\n    \nif (manager.SearchForUpdates())\n{\n    manager.DownloadPackages();\n    if (manager.ValidatePackages())\n        manager.InstallPackage();\n    return;\n}\n```\n\n### Using no user interface (asynchronously)\n\nFor asynchronous usage, each method (except `InstallPackage` and `ValidatePackages` which are synchronous in any case till now) has a corresponding asynchronous one defined inside the `UpdateManager`.\n\n### Specifying an `UpdateVersion`\n\nnUpdate uses a custom version implementation to describe application versions. Semantic versioning is not fully supported among the exact specification but an implementation for it is already included in v4.\n\nYou may specify versions as known with the ordinary parts `Major.Minor.Revision.Build`, e.g. `new UpdateVersion(\"1.2.0.0\")`.\nPre-Releases may be noted by appending the leading, lowered letters of developmental stages and a development build. For example, 1.2 Beta 1 is noted as `1.2.0.0b1` or `1.2b1`, 1.3.1 Alpha 3 is noted as `1.3.1.0a3` or `1.3.1a3`. This means that trailing zero subversions may be ignored and have no need to be declared. The last subversion and the developmental stage may be separated by a dash: `1.2-a1`.\n\nThere are three developmental stages to this point:\n\nAlpha: `a`,\nBeta: `b`,\nReleaseCandidate: `rc`\n\n**Note**: These need to be specified by using the abbrevations above. `1.2.3alpha1` is not valid in v3 of nUpdate.\n\nIn version 4 any type of pre-release descriptor, as well as build metadata, will be available. It will fulfill the complete semantic versioning specification and have an abstract version system.\n\n## Supported by\n\n\u003cimg src=\"https://www.nupdate.net/jetbrains.png\" width=\"96\" height=\"96\"/\u003e\n","funding_links":["https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026business=dominic%2ebeger%40hotmail%2ede\u0026lc=DE\u0026item_name=nUpdate\u0026no_note=0\u0026currency_code=EUR\u0026bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHostedGuest"],"categories":["C\\#","C#"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdbforge%2FnUpdate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdbforge%2FnUpdate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdbforge%2FnUpdate/lists"}