# Umbrix Windows Packaging Script (based on Hiddify) # Creates: Setup.exe + Portable.zip $Version = "1.7.5" Write-Host "===============================================" -ForegroundColor Cyan Write-Host " Umbrix Windows Packaging v$Version" -ForegroundColor Cyan Write-Host "===============================================" -ForegroundColor Cyan Write-Host "" New-Item -ItemType Directory -Force -Name "dist\tmp" | Out-Null New-Item -ItemType Directory -Force -Name "out" | Out-Null # Windows Setup.exe (if exists in dist/) Write-Host "[1/2] Checking for Setup.exe..." -ForegroundColor Yellow $SetupExe = Get-ChildItem -Recurse -File -Path "dist" -Filter "*windows-setup.exe" -ErrorAction SilentlyContinue if ($SetupExe) { Copy-Item $SetupExe.FullName -Destination "out\Umbrix-Windows-Setup-x64.exe" $size = [math]::Round((Get-Item "out\Umbrix-Windows-Setup-x64.exe").Length / 1MB, 2) Write-Host "SUCCESS: Setup.exe copied: $size MB" -ForegroundColor Green } else { Write-Host "WARNING: Setup.exe not found (will create via Inno Setup)" -ForegroundColor Yellow } # Windows Portable ZIP Write-Host "" Write-Host "[2/2] Creating Portable.zip..." -ForegroundColor Yellow xcopy "build\windows\x64\runner\Release" "dist\tmp\umbrix-portable" /E/H/C/I/Y | Out-Null Compress-Archive -Force -Path "dist\tmp\umbrix-portable" -DestinationPath "out\Umbrix-$Version-Windows-x64-Portable.zip" $size = [math]::Round((Get-Item "out\Umbrix-$Version-Windows-x64-Portable.zip").Length / 1MB, 2) Write-Host "SUCCESS: Portable.zip created: $size MB" -ForegroundColor Green # Cleanup Remove-Item -Path "dist\tmp" -Recurse -Force -ErrorAction SilentlyContinue Write-Host "" Write-Host "===============================================" -ForegroundColor Cyan Write-Host " PACKAGING COMPLETE!" -ForegroundColor Green Write-Host "===============================================" -ForegroundColor Cyan Write-Host "" Write-Host "Files in out/:" -ForegroundColor White Get-ChildItem "out" -ErrorAction SilentlyContinue | ForEach-Object { $filesize = [math]::Round($_.Length / 1MB, 2) Write-Host " * $($_.Name) - $filesize MB" -ForegroundColor Gray } Write-Host ""