47 lines
1.9 KiB
Markdown
47 lines
1.9 KiB
Markdown
# Rilasciare una nuova versione
|
|||
|
|
|
||
|
|
Procedura per produrre il setup `PrepStep-Setup-<versione>.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 `<Version>` 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-<versione>.exe`; la versione è letta
|
||
|
|
dall'exe, quindi coincide con `<Version>`. 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.
|