Skip to content

feat: add SQL Server 2025 support#196

Merged
dhensby merged 1 commit intotediousjs:masterfrom
dhensby:feat/sql-server-2025
Apr 14, 2026
Merged

feat: add SQL Server 2025 support#196
dhensby merged 1 commit intotediousjs:masterfrom
dhensby:feat/sql-server-2025

Conversation

@dhensby
Copy link
Copy Markdown
Collaborator

@dhensby dhensby commented Apr 14, 2026

Summary

Add support for SQL Server 2025 which uses the new SSEI (SQL Server Express Installer) bootstrapper model instead of direct exe/box download URLs.

Changes

New SSEI installer flow

SQL Server 2025 uses a bootstrapper (SQL2025-SSEI-StdDev.exe) that downloads the actual install media. The flow is:

  1. Download the SSEI bootstrapper
  2. Run with /Action=Download /MediaType=CAB /Quiet /Language=en-US to download media
  3. Find the downloaded exe in the media directory
  4. Extract with /qs /x:setup (same as existing box installer flow)
  5. Cache the extracted setup directory

Code changes

  • src/versions.ts: Added optional sseiUrl field to VersionConfig, made exeUrl optional, added 2025 version entry (no updateUrl yet — Microsoft has not published CUs for 2025)
  • src/utils.ts: Added downloadSseiInstaller() function, updated latest mapping from 2022 → 2025, added guards for optional exeUrl in existing functions, reordered imports per project conventions
  • src/install.ts: Updated findOrDownloadTool() to handle SSEI path (checked before box and exe), consolidated duplicate ./versions imports
  • .github/copilot-instructions.md: Updated architecture docs to reflect SSEI bootstrapper model and 2025 support
  • Tests: Added SSEI test fixtures, downloadSseiInstaller tests (happy path, error cases, debug mode), updated version expectations

Breaking considerations

The latest version mapping now points to 2025 instead of 2022. This is intentional — consumers using latest expect it to track the newest available version.

@dhensby dhensby force-pushed the feat/sql-server-2025 branch 3 times, most recently from eb00a60 to 18d771c Compare April 14, 2026 22:00
Add support for SQL Server 2025 which uses the SSEI bootstrapper model
instead of direct exe/box download URLs. The bootstrapper is downloaded
and executed with /Action=Download to fetch the CAB media, which is then
extracted using the same flow as the box installer.

- Add optional sseiUrl field to VersionConfig interface
- Make exeUrl optional to support SSEI-only versions
- Add downloadSseiInstaller() function in utils
- Update findOrDownloadTool() to handle SSEI path
- Add 2025 version entry with SSEI URL
- Update latest/default version mapping from 2022 to 2025
- Add comprehensive tests for SSEI installer flow

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@dhensby dhensby force-pushed the feat/sql-server-2025 branch from 18d771c to d857b36 Compare April 14, 2026 22:06
@dhensby dhensby merged commit cccfe3e into tediousjs:master Apr 14, 2026
16 checks passed
@github-actions
Copy link
Copy Markdown

🎉 This PR is included in version 3.1.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant