A simple, small calculator placed discreetly near the Windows Taskbar or anywhere on the screen
0

Configure Feed

Select the types of activity you want to include in your feed.

feat: Inno Setup script for per-user unsigned classic installer

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

Marco Maroni (Jul 14, 2026, 4:30 PM +0200) c4d6d71c 9fa5fe4c

+77
+1
.gitignore
··· 197 197 tests/*.exe 198 198 tests/*.obj 199 199 Packaging/layout/ 200 + Packaging/*.exe 200 201 *.appx 201 202 *.msix 202 203 *.appxbundle
+76
Packaging/TaskbarCalculatorSetup.iss
··· 1 + ; Inno Setup script for TaskbarCalculator — classic, per-user, unsigned installer. 2 + ; Compile with ISCC.exe (Inno Setup Compiler). Produces TaskbarCalculatorSetup.exe. 3 + 4 + #define AppName "Taskbar Calculator" 5 + #define AppVersion "3.0.0" 6 + #define AppPublisher "Marco Maroni" 7 + #define AppURL "https://taskbar-calculator.marcomaroni.it/" 8 + #define AppExe "TaskbarCalculator.exe" 9 + 10 + [Setup] 11 + AppId={{B7E6B3A1-2C4D-4F8A-9E13-5C7A9D2E4F60} 12 + AppName={#AppName} 13 + AppVersion={#AppVersion} 14 + AppPublisher={#AppPublisher} 15 + AppPublisherURL={#AppURL} 16 + AppSupportURL={#AppURL} 17 + DefaultDirName={autopf}\TaskbarCalculator 18 + DisableProgramGroupPage=yes 19 + PrivilegesRequired=lowest 20 + ArchitecturesAllowed=x64compatible 21 + ArchitecturesInstallIn64BitMode=x64compatible 22 + OutputDir=. 23 + OutputBaseFilename=TaskbarCalculatorSetup 24 + SetupIconFile=..\icon1.ico 25 + UninstallDisplayIcon={app}\{#AppExe} 26 + Compression=lzma2 27 + SolidCompression=yes 28 + WizardStyle=modern 29 + CloseApplications=yes 30 + 31 + [Languages] 32 + Name: "italian"; MessagesFile: "compiler:Languages\Italian.isl" 33 + Name: "english"; MessagesFile: "compiler:Default.isl" 34 + 35 + [Tasks] 36 + Name: "startup"; Description: "Avvia {#AppName} all'accesso a Windows"; GroupDescription: "Avvio:" 37 + 38 + [Files] 39 + Source: "..\x64\Release\{#AppExe}"; DestDir: "{app}"; Flags: ignoreversion 40 + 41 + [Icons] 42 + Name: "{autoprograms}\{#AppName}"; Filename: "{app}\{#AppExe}" 43 + 44 + [Registry] 45 + ; Per-user autostart, only when the "startup" task is selected. 46 + Root: HKCU; Subkey: "Software\Microsoft\Windows\CurrentVersion\Run"; \ 47 + ValueType: string; ValueName: "TaskbarCalculator"; \ 48 + ValueData: """{app}\{#AppExe}"""; Tasks: startup 49 + 50 + [Run] 51 + Filename: "{app}\{#AppExe}"; Description: "Avvia {#AppName}"; \ 52 + Flags: nowait postinstall skipifsilent 53 + 54 + [Code] 55 + // Make sure a running instance is closed before (over)writing the exe. 56 + function PrepareToInstall(var NeedsRestart: Boolean): String; 57 + var 58 + ResultCode: Integer; 59 + begin 60 + Exec('taskkill.exe', '/im {#AppExe} /f', '', SW_HIDE, ewWaitUntilTerminated, ResultCode); 61 + Result := ''; 62 + end; 63 + 64 + // Always remove the Run value on uninstall (whether set by the installer or by 65 + // the app's own tray toggle), so nothing is left orphaned. 66 + procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); 67 + var 68 + ResultCode: Integer; 69 + begin 70 + if CurUninstallStep = usUninstall then 71 + begin 72 + Exec('taskkill.exe', '/im {#AppExe} /f', '', SW_HIDE, ewWaitUntilTerminated, ResultCode); 73 + RegDeleteValue(HKEY_CURRENT_USER, 74 + 'Software\Microsoft\Windows\CurrentVersion\Run', 'TaskbarCalculator'); 75 + end; 76 + end;