# Rilasciare una nuova versione Procedura per produrre il setup `PrepStep-Setup-.exe`, l'unico file da distribuire. Il comportamento del setup (installazione per-utente, aggiornamento, `/VERYSILENT`) è descritto in [`architettura.md`](architettura.md#installazione); qui ci sono solo i passi da eseguire. ## Una volta sola Installa Inno Setup 6 per l'utente corrente (niente admin): ```powershell winget install --id JRSoftware.InnoSetup -e --scope user ``` ## A ogni release 1. Aggiorna `` in `PrepStep/PrepStep.csproj` (SemVer). 2. In [`CHANGELOG.md`](../CHANGELOG.md) trasforma "Non rilasciato" nella nuova versione con la data e riscrivi sotto le modifiche (Aggiunto/Modificato/Corretto/Rimosso). 3. Controlla i doc: `dotnet run scripts/CheckDocs.cs` deve confermare che versione e CHANGELOG coincidono. 4. Esegui i test: `dotnet test` in `PrepStep.Tests/`. 5. Chiudi l'app se è aperta (l'exe in uso blocca la build), poi dalla root del repo: ```powershell dotnet publish PrepStep -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -o PrepStep\publish & "$env:LOCALAPPDATA\Programs\Inno Setup 6\ISCC.exe" installer\PrepStep.iss ``` 6. Il setup è in `installer\Output\PrepStep-Setup-.exe`; la versione è letta dall'exe, quindi coincide con ``. Provalo lanciandolo. 7. Commit con codice, doc e CHANGELOG insieme (regola in [`README.md`](README.md)). ## Solo l'eseguibile, senza setup ```powershell cd PrepStep dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -o publish ``` Produce `PrepStep\publish\PrepStep.exe`, un file unico che gira su un Windows x64 senza .NET installato. ## Da non toccare `AppGuid` in `installer/PrepStep.iss`: è ciò che fa riconoscere a Windows le versioni nuove come aggiornamento della stessa app. Cambiarlo produce un'installazione doppia.