๐ Windows Installer โ On-Premise / Enterprise
One .exe installs the whole stack on the customer's own Windows Server. Their SQL, their domain, no cloud dependency.
When to use this
The default deployment is SaaS cloud โ customers just sign up at solvexaretail.com. But some enterprise customers need on-premise for:
- Data-residency requirements (data must stay on customer premises)
- Existing SQL Server / Windows Server infrastructure they want to reuse
- Air-gapped or offline environments
- Chain of stores where each store runs its own instance and syncs to HO
Prerequisites on the customer machine
- Windows 10 / 11 or Windows Server 2019+
- .NET 10 ASP.NET Core Runtime โ download. Pick "ASP.NET Core Runtime 10.x โ Windows x64 Installer"
- SQL Server 2019+ or SQL Server Express (any edition, local or reachable on LAN) โ download
๐ก If either prereq is missing, the installer aborts with a friendly download link. No half-installed state.
Install walkthrough
- Double-click
SolvexaRetailHQ-Setup-<version>.exe(elevated / Run as administrator) - Read + accept the EULA
- Pick install location (default
C:\Program Files\Solvexa\Retail) - Optional: tick "Desktop shortcut"
- Click Install. Files copy (~70 MB).
- Configure.exe launches automatically โ see next section
- Finish. Browser opens to
http://localhost:5000
Configure.exe wizard โ SQL + service setup
After files land, Solvexa.Configure.exe runs. This is where you point Solvexa at your SQL Server.
- Server\Instance โ e.g.
localhost\SQLEXPRESSorSQL01.local,1433 - Database name โ default
MyRetailHQ - Authentication โ pick Windows (uses your logged-in Windows identity) or SQL user (sa / SolvexaApp / whatever). Both work.
- Click Install โ this does 5 things in sequence:
- Tests the SQL connection
- Creates the
MyRetailHQdatabase if missing - Runs every
Database\*.sqlmigration in filename order (idempotent โ safe to re-run) - Writes
appsettings.Production.jsonwith the resolved connection string - Registers
SolvexaRetailHQas an auto-start Windows Service, opens firewall port 5000, and starts the service
- Browser auto-opens to
http://localhost:5000. Sign up as first user.
โ Configure.exe requires administrator privileges (needs to touch Program Files, register a service, and open firewall). It'll UAC-prompt automatically.
Windows Service โ SolvexaRetailHQ
The app runs as a background Windows Service so it starts automatically on boot and survives reboots.
- Service name:
SolvexaRetailHQ - Display name: "Solvexa Retail HQ"
- Startup type: Automatic
- Listens on:
http://0.0.0.0:5000(firewall rule "Solvexa Retail HQ" allows inbound TCP 5000)
Manage from Services.msc or from an elevated cmd:
net stop SolvexaRetailHQ
net start SolvexaRetailHQ
sc query SolvexaRetailHQ
Reconfigure SQL later
If SQL moves, credentials rotate, or you want to migrate to a fresh DB, re-run Configure.exe:
- Start Menu โ "Reconfigure SQL / Migrations" (points at the installed Configure.exe)
- Same wizard as install. Enter new connection details. Migrations re-run (idempotent).
- Service restarts on the new connection.
Uninstall โ data-safe
Control Panel โ Apps โ Solvexa Retail HQ โ Uninstall. What happens:
- Service stops + is deleted
- Firewall rule "Solvexa Retail HQ" removed
- App files deleted from
C:\Program Files\Solvexa\Retail - Database is NEVER dropped โ customer data is preserved. A reinstall picks up where they left off.
๐ก If the customer truly wants to wipe data, they drop the SQL database manually via SSMS or
DROP DATABASE MyRetailHQ.Build the .exe (developer / integrator)
For the team producing the installer to ship to customers:
- Install Inno Setup 6 on the build machine (free, one-time)
cd D:\Projects\MyRetail\MyRetail.HQ\installer.\build.ps1- Output:
installer\out\SolvexaRetailHQ-Setup-1.0.0.exe
The build script:
dotnet publishthe app forwin-x64(framework-dependent โ customer has .NET 10 runtime)dotnet publishConfigure.exe- Invokes
ISCC.exeonSolvexaRetail.iss
Ship the resulting single .exe to the customer via any channel (email, USB, download link). Everything they need is baked in.