param([string]$Version = '0.0.1-beta.64') $ErrorActionPreference = 'Stop' if ($Version -notmatch '^\d+\.\d+\.\d+(-beta\.\d+)?$') { throw 'Invalid version' } dotnet publish windows/ClaudeCheckerWindows.csproj -c Release -r win-x64 --self-contained true "-p:Version=$Version" -o publish if ($LASTEXITCODE -ne 0) { throw 'dotnet publish failed' } Copy-Item -Recurse -Force windows/Assets publish/Assets & $env:INNO_SETUP_COMPILER "/DAppVersion=$Version" windows/installer.iss if ($LASTEXITCODE -ne 0) { throw 'Inno Setup failed' } if (!(Test-Path ClaudeChecker-Installer.exe)) { throw 'Installer missing' } Get-FileHash ClaudeChecker-Installer.exe -Algorithm SHA256