Nome mostrato all'utente cambiato da "Cevolani StepPrep" a "PrepStep - Cevolani": titolo finestra, <Product>/<AssemblyTitle>, guida in-app, setup (nome, collegamenti nel menu Start, voce in App installate). Aggiornando, il setup rimuove i collegamenti col vecchio nome ([InstallDelete]) per non lasciarli doppi nel menu Start. Doc aggiornati nello stesso commit: README.md, CLAUDE.md, docs/architettura.md, docs/guida-utente.md, CHANGELOG.md. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
85 lines
3.1 KiB
Plaintext
85 lines
3.1 KiB
Plaintext
; Setup per-utente di PrepStep - Cevolani: installa in %LOCALAPPDATA%\Programs\PrepStep
|
|
; senza richiedere diritti di amministratore.
|
|
; Prima: dotnet publish (vedi README), poi: iscc installer\PrepStep.iss
|
|
|
|
#define Exe "..\PrepStep\publish\PrepStep.exe"
|
|
; Versione letta dall'exe (<Version> nel csproj), tolto l'eventuale "+<commit>" di .NET.
|
|
#define AppVersion GetStringFileInfo(Exe, "ProductVersion")
|
|
#if Pos("+", AppVersion) > 0
|
|
#define AppVersion Copy(AppVersion, 1, Pos("+", AppVersion) - 1)
|
|
#endif
|
|
; Non cambiare AppGuid: è quello che fa riconoscere a Windows gli aggiornamenti come la stessa app.
|
|
#define AppGuid "FAC1B760-4735-422F-86F0-888484CF2830"
|
|
|
|
[Setup]
|
|
AppId={{{#AppGuid}}
|
|
AppName=PrepStep - Cevolani
|
|
AppVersion={#AppVersion}
|
|
AppPublisher=Cevolani
|
|
; Con PrivilegesRequired=lowest {autopf} diventa %LOCALAPPDATA%\Programs.
|
|
PrivilegesRequired=lowest
|
|
DefaultDirName={autopf}\PrepStep
|
|
DisableDirPage=yes
|
|
DisableProgramGroupPage=yes
|
|
ArchitecturesAllowed=x64compatible
|
|
ArchitecturesInstallIn64BitMode=x64compatible
|
|
SetupIconFile=..\PrepStep\app.ico
|
|
UninstallDisplayIcon={app}\PrepStep.exe
|
|
UninstallDisplayName=PrepStep - Cevolani
|
|
OutputDir=Output
|
|
OutputBaseFilename=PrepStep-Setup-{#AppVersion}
|
|
Compression=lzma2
|
|
SolidCompression=yes
|
|
|
|
[Languages]
|
|
Name: "it"; MessagesFile: "compiler:Languages\Italian.isl"
|
|
|
|
[Tasks]
|
|
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
|
|
|
|
[Files]
|
|
Source: "{#Exe}"; DestDir: "{app}"; Flags: ignoreversion
|
|
|
|
[InstallDelete]
|
|
; Collegamenti col vecchio nome dell'app (fino a 0.9.0), altrimenti restano nel menu Start.
|
|
Type: files; Name: "{autoprograms}\Cevolani StepPrep.lnk"
|
|
Type: files; Name: "{autoprograms}\Disinstalla Cevolani StepPrep.lnk"
|
|
Type: files; Name: "{autodesktop}\Cevolani StepPrep.lnk"
|
|
|
|
[Icons]
|
|
Name: "{autoprograms}\PrepStep - Cevolani"; Filename: "{app}\PrepStep.exe"
|
|
Name: "{autodesktop}\PrepStep - Cevolani"; Filename: "{app}\PrepStep.exe"; Tasks: desktopicon
|
|
Name: "{autoprograms}\Disinstalla PrepStep - Cevolani"; Filename: "{uninstallexe}"
|
|
|
|
[Run]
|
|
Filename: "{app}\PrepStep.exe"; Description: "{cm:LaunchProgram,PrepStep - Cevolani}"; Flags: nowait postinstall skipifsilent
|
|
|
|
[Code]
|
|
{ Se l'app è già installata, chiede se aggiornarla o disinstallarla (Inno da solo aggiornerebbe
|
|
sempre, senza offrire la disinstallazione). In modalità silenziosa aggiorna senza chiedere. }
|
|
function InitializeSetup(): Boolean;
|
|
var
|
|
Disinstallatore: String;
|
|
Codice: Integer;
|
|
begin
|
|
Result := True;
|
|
if WizardSilent then
|
|
Exit;
|
|
if not RegQueryStringValue(HKCU,
|
|
'Software\Microsoft\Windows\CurrentVersion\Uninstall\{' + '{#AppGuid}' + '}_is1',
|
|
'UninstallString', Disinstallatore) then
|
|
Exit;
|
|
case MsgBox('PrepStep - Cevolani è già installato.' + #13#10#13#10 +
|
|
'Sì: aggiorna / reinstalla' + #13#10 +
|
|
'No: disinstalla' + #13#10 +
|
|
'Annulla: esci senza fare nulla', mbConfirmation, MB_YESNOCANCEL) of
|
|
IDNO:
|
|
begin
|
|
Exec(RemoveQuotes(Disinstallatore), '', '', SW_SHOW, ewWaitUntilTerminated, Codice);
|
|
Result := False;
|
|
end;
|
|
IDCANCEL:
|
|
Result := False;
|
|
end;
|
|
end;
|