Autarch/scripts/build-msi.ps1
DigiJ ffe47c51b5 Initial public release — AUTARCH v1.0.0
Full security platform with web dashboard, 16 Flask blueprints, 26 modules,
autonomous AI agent, WebUSB hardware support, and Archon Android companion app.

Includes Hash Toolkit, debug console, anti-stalkerware shield, Metasploit/RouterSploit
integration, WireGuard VPN, OSINT reconnaissance, and multi-backend LLM support.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 03:57:32 -08:00

63 lines
2.4 KiB
PowerShell

# ═══════════════════════════════════════════════════════════════════════════
# AUTARCH - Windows MSI Installer Builder
#
# Creates a Windows .msi installer using Python's built-in msilib.
# Packages the PyInstaller bundle (dist\bin\AUTARCH\) into an MSI.
# Output: dist\bin\AUTARCH-1.3-win64.msi
#
# Usage:
# powershell -ExecutionPolicy Bypass -File scripts\build-msi.ps1
#
# Prerequisites:
# - Python 3.10+ (msilib is a Windows standard library module)
# - dist\bin\AUTARCH\ must exist (run build-exe.ps1 first)
# ===============================================================================
param(
[string]$Python = "python"
)
$ErrorActionPreference = "Stop"
$AppDir = Split-Path -Parent $PSScriptRoot
Write-Host ""
Write-Host "===============================================" -ForegroundColor Cyan
Write-Host " AUTARCH .msi Builder (msilib)" -ForegroundColor Cyan
Write-Host "===============================================" -ForegroundColor Cyan
Write-Host ""
$BundleDir = Join-Path $AppDir "dist\bin\AUTARCH"
if (-not (Test-Path (Join-Path $BundleDir "AUTARCH.exe"))) {
Write-Host "ERROR: dist\bin\AUTARCH\AUTARCH.exe not found." -ForegroundColor Red
Write-Host " Run build-exe.ps1 first to create the bundle." -ForegroundColor Yellow
exit 1
}
Set-Location $AppDir
Write-Host "Building MSI from dist\bin\AUTARCH\ bundle..." -ForegroundColor Yellow
Write-Host ""
& $Python (Join-Path $AppDir "scripts\make_msi.py")
if ($LASTEXITCODE -ne 0) {
Write-Host ""
Write-Host "ERROR: MSI build failed (exit code $LASTEXITCODE)" -ForegroundColor Red
exit $LASTEXITCODE
}
$msiFiles = Get-ChildItem (Join-Path $AppDir "dist\bin") -Filter "*.msi" -ErrorAction SilentlyContinue
Write-Host ""
Write-Host "===============================================" -ForegroundColor Green
Write-Host " MSI build complete!" -ForegroundColor Green
Write-Host "===============================================" -ForegroundColor Green
Write-Host ""
foreach ($msi in $msiFiles) {
$sizeMB = [math]::Round($msi.Length / 1MB, 1)
Write-Host " Output: $($msi.FullName) ($sizeMB MB)" -ForegroundColor White
}
Write-Host ""
Write-Host " Install: Double-click the .msi file" -ForegroundColor Cyan
Write-Host " Or: msiexec /i AUTARCH-1.3-win64.msi" -ForegroundColor Cyan
Write-Host ""