Add Windows installer (Inno Setup) + GUI-subsystem release builds
Package PeerSpeak for Windows as a single self-contained binary. The GUI icon, notification chimes, and avatar presets are already embedded via include_bytes!, and the cross-compiled .exe is statically linked (no extra DLLs), so the installer payload is just peerspeak.exe plus an .ico. - src/main.rs: set windows_subsystem = "windows" for release builds so the GUI launches without a stray console window (debug keeps the console for stderr/panics). - packaging/windows/: Inno Setup script (peerspeak.iss), multi-resolution app icon (peerspeak.ico), and a build README. The installer drops a Start-menu/desktop shortcut, optionally adds a Windows Firewall allow-rule (iroh UDP hole-punching), and provides an uninstaller. - win-cross-build.sh: promote the cross-build helper from a throwaway to the documented installer build step; .gitignore the staged exe + compiled setup.exe build artifacts. Built with Inno Setup 6.7.1 under Wine; binary is unsigned (SmartScreen will warn until code-signed). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -1,3 +1,7 @@
|
||||
// On Windows, suppress the extra console window for release GUI builds while
|
||||
// keeping it in debug builds so stderr/panics stay visible during development.
|
||||
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
|
||||
|
||||
fn main() {
|
||||
if let Err(e) = peerspeak::app::run_gui() {
|
||||
eprintln!("Error running GUI: {:?}", e);
|
||||
|
||||
Reference in New Issue
Block a user