обновил лаунчер под новую версию веба

This commit is contained in:
2026-10-04 13:19:12 +04:00
parent dd189fe48f
commit d3d19bfaeb
20 changed files with 486 additions and 64 deletions
+21 -1
View File
@@ -22,7 +22,7 @@ release that has not passed the remote download and checksum verification.
The release machine needs:
- latest stable Flutter and Dart available on `PATH`
- latest stable Flutter and Dart selected through FVM
- Inno Setup 6, normally installed at
`C:\Program Files (x86)\Inno Setup 6\ISCC.exe`
- OpenSSL, normally supplied by Git for Windows at
@@ -45,6 +45,13 @@ Back up `.moonwell_signing\dsa_priv.pem` in the project secret store. Never
commit it, upload it to Object Storage, or send it through chat. Losing this key
prevents released launchers from accepting future updates.
The deploy script copies the x64 Visual C++ CRT DLLs from Visual Studio's
redistributable directory into the application folder before compiling the
installer. Use `-VcRuntimePath` to override the detected directory. This keeps
the per-user installer usable without installing system runtimes as an admin;
Windows 10/11 supplies the Universal CRT. See Microsoft's
[app-local deployment guidance](https://learn.microsoft.com/en-us/cpp/windows/choosing-a-deployment-method?view=msvc-170).
## Local `.env`
For local releases, copy `.env.example` to `.env` and fill in the real values.
@@ -125,6 +132,19 @@ The production defaults are:
- installer:
`https://storage.yandexcloud.net/warcraft-client/moonwell_launcher_setup.exe`
Use a versioned `-S3Key`, such as
`moonwell_launcher/releases/1.0.4/moonwell_launcher_setup.exe`, to preserve the
installer referenced by each signed AppCast. After the feed has been verified,
publish the same verified installer at `moonwell_launcher_setup.exe` for the
website's stable download link. Set `MOONWELL_CLIENT_OBJECT_KEY` to that key in
the web app when its download button should install the launcher. The game
files use their separate client manifest and release prefix.
For FVM, `-FlutterCommand` and `-DartCommand` can point to local `.cmd` wrappers
that run `call fvm flutter %*` and `call fvm dart %*` respectively and return
`exit /b %errorlevel%`. Keep wrappers inside ignored `build/` and ensure the
FVM executable is on `PATH` or use its absolute path in the wrapper.
On success, the command prints the deployed version, installer URL, SHA-256,
and AppCast URL. The tracked root `appcast.xml` contains the exact feed sent to
the server.