Windows installer and updater for RetreatUI, supporting both:
- Project Ascension: Conquest of Azeroth (CoA)
- World of Warcraft: The Burning Crusade (TBC) Classic / Anniversary
0.3.0
- Dedicated game selector for CoA and TBC
- Separate saved AddOns paths and detected executables for each game
- Automatic Project Ascension AddOns folder detection
- Automatic detection of common World of Warcraft Classic / Anniversary folders
- Product-specific release filtering so a TBC profile can never install a CoA ZIP, or vice versa
- Custom RetreatUI application icon and in-launcher branding
- Stable and Beta update channels
- Clear switching between Stable, Beta and local test builds
- Automatic release checks through the RetreatUI GitHub releases feed
- Full Stable/Beta semantic version ordering with hard addon downgrade protection
- Manual folder selection as a fallback
- Installed and latest version display per selected game
- Product-specific release notes inside the launcher
- One-click RetreatUI installation and updating
- Automatic RetreatUI updates on the selected channel when the selected game is closed
- A discreet Support RetreatUI button linking to the official Ko-fi page
- Validates the downloaded ZIP, addon versions and installed file copy
- Automatic backup before replacing addon files
- Automatic rollback when installation or verification fails
- Keeps the five newest backups
- Never touches WoW SavedVariables
- Opens the selected AddOns folder
- Launches the selected game when its executable is detected
- Automatic launcher self-updates from the public binary-only release repository
- SHA-256 verification and executable rollback for launcher updates
The launcher only replaces:
RetreatUIRetreatUI_Classes
CoA and TBC use separate game paths, but the same managed addon folder names inside each client's Interface\AddOns folder.
The launcher reads releases from RetreatUI/RetreatUI-Addon and selects assets by game edition.
RetreatUI_v1.0.11.zip
RetreatUI_TBC_v0.1.0.zip
RetreatUI-TBC-v0.1.0.zip is also accepted for compatibility.
Every ZIP must contain these folders at its root:
RetreatUI/
RetreatUI_Classes/
Both .toc files must use the same version encoded in the asset filename. The release tag may be shared or product-specific; the launcher validates against the selected asset's version.
Stable releases must not be marked as pre-releases. Beta releases must be marked as pre-releases and may use versions such as:
1.0.12-beta.1
0.1.0-beta.1
A release may contain both CoA and TBC assets. The launcher will only display a release for a game when a compatible asset is present.
The source code remains in this private repository. Compiled launcher releases are published publicly in:
RetreatUI/RetreatUI-Launcher-Releases
Every public launcher release must contain:
RetreatUI_Launcher.exe
RetreatUI_Launcher.exe.sha256
RetreatUI_Launcher_win-x64.zip
Installed launchers from v0.2.6 onward check that public repository and can replace themselves after verifying the SHA-256 checksum.
Requires Visual Studio 2022 or the .NET 8 SDK with Windows Desktop support.
dotnet publish .\RetreatUI.Launcher\RetreatUI.Launcher.csproj `
--configuration Release `
--runtime win-x64 `
--self-contained true `
-p:PublishSingleFile=true `
-p:IncludeNativeLibrariesForSelfExtract=true `
--output .\publishThe finished executable will be:
publish\RetreatUI_Launcher.exe
Pull requests run a compile validation automatically. For a downloadable test build:
- Open the repository's Actions tab.
- Select Build RetreatUI Launcher.
- Choose Run workflow and select the desired branch.
- Download the build artifact after the workflow finishes.
For a launcher release, create and push a tag such as:
launcher-v0.3.0
The built EXE, checksum and ZIP are then transferred to the public launcher release repository.
Settings:
%LOCALAPPDATA%\RetreatUI Launcher\settings.json
Backups:
%LOCALAPPDATA%\RetreatUI Launcher\Backups
This project is proprietary. All rights reserved.