Robbiblubber.Install.Kangaroo
2.1.0
dotnet add package Robbiblubber.Install.Kangaroo --version 2.1.0
NuGet\Install-Package Robbiblubber.Install.Kangaroo -Version 2.1.0
<PackageReference Include="Robbiblubber.Install.Kangaroo" Version="2.1.0" />
<PackageVersion Include="Robbiblubber.Install.Kangaroo" Version="2.1.0" />
<PackageReference Include="Robbiblubber.Install.Kangaroo" />
paket add Robbiblubber.Install.Kangaroo --version 2.1.0
#r "nuget: Robbiblubber.Install.Kangaroo, 2.1.0"
#:package Robbiblubber.Install.Kangaroo@2.1.0
#addin nuget:?package=Robbiblubber.Install.Kangaroo&version=2.1.0
#tool nuget:?package=Robbiblubber.Install.Kangaroo&version=2.1.0
robbiblubber.org Kangaroo Library
The robbiblubber.org Kangaroo Library adds updates to an application: it compares the installed version with the version in a Kangaroo repository and starts the Kangaroo installer, which updates the application and starts it again.
The library targets .NET 8 and .NET 10 on Windows.
The repository can be found at https://bitbucket.org/robbiblubber/robbiblubber.install.kangaroo.net/. API documentation is available from https://robbiblubber.lima-city.org/. For general information see http://robbiblubber.org/.
The robbiblubber.org Kangaroo Library is provided under the MIT license and may be used without restrictions under the conditions of this license agreement.
Usage
using Robbiblubber.Install.Kangaroo;
Installation app = Installation.Open("rqoon"); // repository from the installation signature
if(app.UpdateRequired || (app.UpdateAvailable && AskUser($"Update to {app.AvailableVersion}?")))
{
if(app.Update()) { Application.Exit(); } // the installer replaces the files and restarts the application
}
Installation.Open(key)reads the repository from the signature that the installer has written;Installation.Open(location, key)uses the given repository. An application that has not been installed by Kangaroo has the installed version 0.0.0 and no repository.InstalledVersion,AvailableVersionandRequiredVersioncompare with missing parts as 0 (2.0 equals 2.0.0).UpdateAvailableandUpdateRequiredare TRUE if the available or required version is higher than the installed one.Update()downloads the installer from the repository, starts it and returns TRUE; it returns FALSE without an available update, unlessforceis set. The application should exit, so that its files can be replaced. AnIOExceptionmeans the installer could not be downloaded.- The installer is started with
dotnet kangaroo.dlland administrator rights if the user can get them; if the user declines, it runs without. WithuseHost: false,kangaroo.exeis started, which asks for the rights itself. - After the update, the installer starts the application again with the original command line and the rights of the logged-on user.
Repository.Open(location).Installations lists the installations of a
repository.
Repository
A repository is a local or network folder or a web address (http://,
https://):
repository.index items = rqoon, tools; (only for Installations)
kangaroo.8.bag installer for .NET 8 (zip)
kangaroo.10.bag installer for .NET 10 and later (zip)
rqoon/install.defn installation definition
rqoon/install.bag installation package (zip)
The installation definition is a DDN file:
available = 2.1.0; // available version
required = 2.0; // optional: required version
name = rqoon; // optional: display name
publisher = robbiblubber.org; // optional
uninstall = "C:\\Tools\\kangaroo\\kangaroo.exe" -U -k rqoon; // optional, for the installed apps list
quietuninstall = "C:\\Tools\\kangaroo\\kangaroo.exe" -U -S -k rqoon;
local
{
signaturefile = rqoon.exe; // optional, see below
}
The installation directory passed to the installer is the directory of the
running application. If local/signaturefile is set and that file is not in
the application directory (the application is not part of the installation it
updates), the installation directory from the signature is used.
The package and the installer configuration (install.kroo) are described in
the readme of the Kangaroo Installer.
Installation signature
The installer writes the signature to
C:\ProgramData\robbiblubber.org\instll\<key>.vsig:
version = 2.1.0;
installdir = C:\\Program Files\\rqoon;
repository = https:\/\/example.org\/kangaroo;
scope = machine; // machine: all users, user: current user
The folder also holds the log (<key>.log) and a copy of the installer
configuration (<key>.kroo) for the uninstallation.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Robbiblubber.Spellbook (>= 3.2.2)
-
net8.0
- Robbiblubber.Spellbook (>= 3.2.2)
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 |
|---|---|---|
| 2.1.0 | 82 | 10/23/2026 |