Update Launcher
INTRODUCTION
Update Launcher is a Windows-based updater that automatically checks if a newer version of your application is available. If a newer version is found, it downloads, extracts, and runs that updated version — all without bothering the user with admin prompts or complicated steps.
PREMISE
Updater applications are often heavy-weight or full of unwanted clutter or features. Update Launcher is simple and short. It checks for the latest version of your app online. If there’s a new version, it downloads it, unzips it, and runs the updated program. If the app is already up to date, the launcher simply runs your existing version right away, entirely invisible to the user.
SETUP
Update Launcher is developed in Visual Studio C# (.NET), making use of built-in Windows libraries. Once you have the solution open:
- Adjust the
appName,exeName,versionURL, andupdateURLin MainWindow.xaml.cs to match your app and permanent download links. - Make sure your
updateURLpoints to a zipped archive that contains your app at the root level. versionURLshould be a simple text file that holds something like1.0.0(only digits and periods).- Customize your application’s logo, progress bar color, and any other UI elements in MainWindow.xaml.
- Update the project properties to rename the Updater and set your own icons.
EXTRA INFO
By default, Update Launcher installs your program in AppData/Local/[appName], ensuring the user doesn’t need to grant administrative privileges each time your app updates. If you prefer to install to Program Files, you can modify the code to require admin rights, but be aware that this can be intrusive. The Updater also stores and checks the installed version in the Windows Registry at CurrentUser/Software/[appName].
HOW IT WORKS
Once launched, Update Launcher checks a version text file online via HttpClient and compares it to the local version stored in the Registry. If an update is needed, it downloads the ZIP to a temp folder, extracts it to AppData/Local/[appName], then runs the new application. If there is no update, it simply bypasses all UI and immediately launches your existing installation.