| .gitignore | Loading last commit info... | |
| InstallerBase.csproj | ||
| Program.cs | ||
| README.md | ||
| \WXLauncher.lnk | ||
| \WXLauncher\WXLauncher.lnk | ||
| build.ps1 | ||
| build.sh | ||
| setup.ps1 | ||
| setup.sh |
InstallerBase - Template Installer Repository
A clean, standalone template project for building application installers powered by InstallerFramework (.NET Core + Avalonia UI).
🚀 Quickstart & Setup
This repository contains the installer UI & setup script logic without embedding the entire framework source code directly.
1. Run Setup Script
Run the setup script to automatically pull InstallerFramework from https://code.weexnes.dev/InstallerFramework.git and link it into lib/InstallerFramework:
Linux / macOS:
chmod +x setup.sh build.sh
./setup.sh
Windows (PowerShell):
.\setup.ps1
2. Run Locally
After running ./setup.sh (or .\setup.ps1), test the installer UI:
dotnet run
3. Customize Your Installer (Program.cs)
Edit Program.cs to configure your application branding, license terms, target folder, configuration form inputs, and installation actions:
var config = InstallerBuilder.Create("My App")
.WithVersion("1.0.0")
.WithPublisher("Acme Corp")
.WithDefaultDirectory(@"{LocalAppData}\Programs\MyApp")
.RequireAdmin(ElevationMode.AutoDetect)
.AddWelcomePage()
.AddLicensePage(licenseText)
.AddDirectoryPage()
.AddConfigPage(c => c
.AddTextInput("server_port", "Server Port", defaultValue: "8080"))
.AddStep("Deploying Files", new CopyDirectoryAction(@"Payload", "{TargetDir}"))
.AddCompletionPage(launchExecutableOnFinish: "{TargetDir}/App.exe")
.Build();
InstallerRunner.Run(config, args);
4. Build Standalone Installer Executable
Compile a single-file executable for distribution:
Linux / macOS:
./build.sh
Windows (PowerShell):
.\build.ps1
The resulting single-file binary will be generated in publish/win-x64/InstallerBase.exe.