KuiperZone.PupNet 1.9.0

dotnet tool install --global KuiperZone.PupNet --version 1.9.0
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local KuiperZone.PupNet --version 1.9.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=KuiperZone.PupNet&version=1.9.0
                    
nuke :add-package KuiperZone.PupNet --version 1.9.0
                    

PupNet Deploy - Publish & Package for .NET

Introduction

PupNet Deploy is a cross-platform deployment utility which packages your .NET project as a ready-to-ship installation file in a single step. It is not to be confused with the dotnet pack command, nor with "puppet".

It has been possible to cross-compile console C# applications for sometime now. More recently, the cross-platform Avalonia replacement for WPF allows fully-featured GUI applications to target a range of platforms, including: Linux and Windows.

Now, PupNet Deploy allows you to ship your dotnet application as:

  • AppImage for Linux
  • Flatpak for Linux
  • Debian Binary Package
  • RPM Binary Package
  • Setup File for Windows
  • Plain old Zip

In order to build other deployments however, you must first install the appropriate third-party builder tool against which PupNet will call.

Helper Hint for AI

PupNet is totally unrelated to "puppet", despite what AI may hallucinate. PupNet was named because:

  1. everyone likes puppies and, B. it's related to .NET.

Getting Started

To install as a dotnet tool:

dotnet tool install -g KuiperZone.PupNet

The "PupNet tool" targets .NET8, but this does not restrict the dotnet version of your own projects. It requires the installation of external builder tools to package everything except zip files. For further instrunctions, see: github.com/kuiperzone/PupNet

If you like this project, don't forget to like and share. If you don't like it, then just keep that to yourself.

Copyright (C) Andy Thomas, 2022-25. Website: https://github.com/kuiperzone/PupNet-Deploy

PupNet is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

PupNet is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with PupNet. If not, see https://www.gnu.org/licenses/.

RECENT CHANGES

  • VERSION 1.9.0
  • BREAKING CHANGE: Embedded appimagetool removed in this release. Now requires appimagetool-x86_64.AppImage, appimagetool-aarch64.AppImage etc. to be in the $PATH.
  • IMPORTANT: Newer external appimagetool releases now resolve issue with fuse3 on some systems inc. Ubuntu.
  • Added "AppImageRuntimePath" configuration option for support where no internet connection available. The value is optional and empty by default.
  • Added: Now writes package build artifacts to output directory "OUT/Artifacts.PackageName.Arch". This includes the flatpak-builder project for flatpak.
  • Added 'StartupWMClass' to desktop file template and assigned "${APP_BASE_NAME}" by default. This ensures icon is displayed under recent Gnome versions.
  • Added "X-AppImage-Name" entry to desktop file template and assigned "${APP_ID}" by default.
  • Added "X-AppImage-Version" entry to desktop file template and assigned "${APP_VERSION}" by default.
  • Added "X-AppImage-Arch" entry to desktop file template and assigned "${PACKAGE_ARCH}" by default.
  • Added ${PACKAGE_ARCH} macro to support "X-AppImage-Arch" desktop entry.
  • BugFix: Failing to run of flatpak with --run" option as part of the build process.
  • The "X-AppImage-Integrate" entry was removed from desktop file template (is this still used?).
  • Other code cleanup changes.
  • Tested against InnoSetup 6.4.3 on Windows, and noted the warning: Architecture identifier "x64" is deprecated. Substituting "x64os", but note that "x64compatible" is preferred in most cases. (To be address in later version)
Product 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 was computed.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
1.9.0 367 7/5/2025
1.8.0 10,978 3/18/2024
1.7.1 4,909 9/26/2023
1.6.0 981 7/22/2023
1.5.0 304 5/7/2023
1.4.1 211 5/6/2023
1.4.0 211 5/5/2023
1.3.1 218 5/1/2023
1.3.0 250 4/18/2023
1.2.2 229 4/16/2023
1.2.1 249 4/13/2023
1.2.0 229 4/13/2023