Add per-user Windows installer and build instructions

This commit is contained in:
Dario P. committed 2026-10-16 11:48:35 +02:00
1 parent 0e18297e35
commit e1e9a5e6a9
4 files changed
+75 -4

No files matched your search

+18 -3
View File
@@ -25,9 +25,12 @@ A portable C# / WPF website launcher for Windows.
## Run
Download the portable Windows x64 package from this repository's Releases page,
extract it, and run `Orbit.exe`. No installer or separate .NET runtime
is required. Windows 10 or Windows 11, 64-bit.
Choose a Windows x64 download from [Releases](https://github.com/donishki/orbit/releases/latest):
- **Orbit-Setup-win-x64.exe**: installs Orbit for your Windows account, adds a Start menu shortcut, and offers an optional desktop shortcut. Remove it through Windows Settings > Apps.
- **Orbit-Portable-win-x64.zip**: extract and run `Orbit.exe`, without installing.
Both include .NET and support 64-bit Windows 10 or Windows 11. The installer defaults to `%LOCALAPPDATA%\Programs\Orbit`, requires no administrator password, and preserves links and settings during upgrades and uninstall. Installed and portable copies share the same settings for your account.
## Settings
@@ -47,6 +50,18 @@ Requires Windows and the .NET 8 SDK.
dotnet publish Orbit.csproj -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true -p:DebugType=None -p:DebugSymbols=false -o release
```
### Build the installer
Install Inno Setup 7, then run:
```powershell
./installer/Build-Installer.ps1
```
Use `-IsccPath` for a compiler installed elsewhere. The output is
`release/Orbit-Setup-win-x64.exe`. The installer bundles the runtime as normal
files so the installed app does not need to extract it on launch.
## Checks
```powershell
+4 -1
View File
@@ -2,7 +2,10 @@ ORBIT 1.1.3 - WEBSITE SHORTCUTS
Created by Dario P.
Run Orbit.exe on 64-bit Windows 10 or Windows 11.
No installer or separate .NET installation is required.
The portable version needs no installer or separate .NET installation.
Alternatively, run Orbit-Setup-win-x64.exe to install Orbit for your Windows
account with a Start menu shortcut and optional desktop shortcut. Uninstall
through Windows Settings > Apps. Saved links and settings are preserved.
NEW IN 1.1
- Import / Export: share a JSON library including custom icons and collection
+12
View File
@@ -0,0 +1,12 @@
param([string]$IsccPath = "${env:ProgramFiles(x86)}\Inno Setup 7\ISCC.exe")
$ErrorActionPreference = 'Stop'
$projectRoot = Split-Path $PSScriptRoot -Parent
if (!(Test-Path -LiteralPath $IsccPath)) { throw "Inno Setup compiler not found. Supply -IsccPath with the path to ISCC.exe." }
Push-Location $projectRoot
try {
dotnet publish Orbit.csproj -c Release -r win-x64 --self-contained true -p:PublishSingleFile=false -p:DebugType=None -p:DebugSymbols=false -o release/installer-payload
if ($LASTEXITCODE -ne 0) { throw 'Publish failed.' }
Copy-Item README.txt release/installer-payload/README.txt
& $IsccPath installer/Orbit.iss
if ($LASTEXITCODE -ne 0) { throw 'Installer compilation failed.' }
} finally { Pop-Location }
+41
View File
@@ -0,0 +1,41 @@
#define AppVersion GetVersionNumbersString("..\release\installer-payload\Orbit.exe")
[Setup]
AppId={{60E686D4-296A-41D2-B445-5DDC79FD2A2C}
AppName=Orbit
AppVersion={#AppVersion}
AppPublisher=Dario P.
AppPublisherURL=https://github.com/donishki/orbit
AppSupportURL=https://github.com/donishki/orbit/issues
AppUpdatesURL=https://github.com/donishki/orbit/releases/latest
DefaultDirName={localappdata}\Programs\Orbit
DefaultGroupName=Orbit
DisableProgramGroupPage=yes
PrivilegesRequired=lowest
ArchitecturesAllowed=x64compatible
ArchitecturesInstallIn64BitMode=x64compatible
MinVersion=10.0
OutputDir=..\release
OutputBaseFilename=Orbit-Setup-win-x64
SetupIconFile=..\app.ico
UninstallDisplayIcon={app}\Orbit.exe
UninstallDisplayName=Orbit
WizardStyle=modern
Compression=lzma2
SolidCompression=yes
CloseApplications=yes
RestartApplications=no
[Tasks]
Name: "desktopicon"; Description: "Create a &desktop shortcut"; GroupDescription: "Shortcuts:"; Flags: unchecked
[Files]
Source: "..\release\installer-payload\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
[Icons]
Name: "{autoprograms}\Orbit"; Filename: "{app}\Orbit.exe"; WorkingDir: "{app}"
Name: "{autodesktop}\Orbit"; Filename: "{app}\Orbit.exe"; WorkingDir: "{app}"; Tasks: desktopicon
[Run]
Filename: "{app}\Orbit.exe"; Description: "Launch Orbit"; Flags: nowait postinstall skipifsilent
; Deliberately do not remove the user's %LOCALAPPDATA%\Orbit settings on uninstall.