-
Notifications
You must be signed in to change notification settings - Fork 0
YSM Installer v1.1.0.0 #23
dary1337
announced in
Announcements
-
Big one. Full Material You redesign, native 7-Zip extraction, multi-part archive support, taskbar progress, single-instance guard, and a pile of installer hardening.
Highlights
- Material You / Material 3 redesign — borderless window with custom chrome, inline state machine, new option cards, Platinum monochrome theme, custom-drawn scroll panels.
- Native 7-Zip extraction — bundled
7z.dllwith hand-rolled COM interop replaces SharpCompress; one solid-block decode pass instead of per-entry, big speedup on.7z/.rararchives. - Multi-part archives — installer can now download split releases (
download_url_partsin the catalog) and the manual-install picker accepts.7z.001/.zip.001/.rar.001via a virtual concat stream (no temp file, zero extra disk usage). - Manual install — install from a local folder or archive you already have, with proper
Config.inivalidation.
Added
- Native 7-Zip integration via bundled
7z.dll(LGPL notices included) - Multi-part archive download with per-chunk retry + atomic rename on success
.7z.001/.zip.001/.rar.001accepted in manual install picker (virtual concat — no temp file)- Manual install from a local folder or archive (folder picker + archive picker)
- Google Drive URL support in the catalog (auto-normalized to direct download)
- Windows taskbar progress bar with green-on-complete beacon while backgrounded
- Single-instance guard — a second copy hands off to the existing window instead of racing against it
- Low disk space confirmation dialog before extract
- In-memory cache for GitHub API responses and size probes
- Release notes preview in the update prompt
- Material You design tokens, Platinum monochrome theme, MaterialScrollPanel, borderless Material window chrome
- Apache 2.0 license, third-party notices, structured GitHub issue templates
Improved
- Network path: parallel HEAD probes, 80 KB stream buffers, gzip on catalog,
ConfigureAwait(false)on hot paths, TLS 1.2 floor, connection cap raised - Auto-update cancellation propagates cleanly when the form closes
- Catalog validation skips only invalid entries instead of dropping the whole game version
- Install / scan flow with conditional Steam guidance and clearer stage labels
- Clearer manual-install card copy
Fixed
- Config.ini written atomically via
.tmp+File.Replace— a crash or BSOD mid-finalize can no longer leave WARNO's settings file empty or partial - 7-Zip extraction hardening — cancellation, oversized-size guard, HRESULT checks, write-error capture, idempotent
Dispose, deferred-rethrow with original stack traces - TaskbarProgress COM lifecycle + handle-access races
- SoftLabel truncation (GDI vs GDI+ width mismatch wrapping text to an invisible second line)
- HttpClient reuse across connectivity probes (no more TIME_WAIT socket leak)
_chooseBuildCts/_autoUpdateCtsproperly cancelled and disposed on form close — no more lingering HEAD probes after teardown- Atomic
.tmp+ rename on every download path - Bitmap leak on install-complete badge
async void Form1_Loadnow catches OCE and exceptions
Notes
- Bundled
7z.dllis LGPL — seeTHIRD-PARTY-NOTICES.md. - Single-instance lock is per-login session (
Local\) — does not block another user on the same machine.
This discussion was created from the release YSM Installer v1.1.0.0.
Beta Was this translation helpful? Give feedback.
All reactions
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment