Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

YSM Installer v1.1.0.0 #23

Discussion options

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.dll with hand-rolled COM interop replaces SharpCompress; one solid-block decode pass instead of per-entry, big speedup on .7z/.rar archives.
  • Multi-part archives — installer can now download split releases (download_url_parts in the catalog) and the manual-install picker accepts .7z.001 / .zip.001 / .rar.001 via 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.ini validation.

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.001 accepted 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 / _autoUpdateCts properly 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_Load now catches OCE and exceptions

Notes

  • Bundled 7z.dll is LGPL — see THIRD-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.
You must be logged in to vote

Replies: 0 comments

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
1 participant

AltStyle によって変換されたページ (->オリジナル) /