<# .SYNOPSIS Run this script in Windows PowerShell to package OpenClawPrecheck.ps1 into an EXE. .DESCRIPTION 1. Automatically detects and installs the PS2EXE module. 2. Compiles OpenClawPrecheck.ps1 into a console-less EXE. #> $ErrorActionPreference = "Stop" # Get the directory of the current script $scriptDir = Split-Path -Parent $MyInvocation.MyCommand.Definition $sourceFile = Join-Path $scriptDir "OpenClawPrecheck.ps1" $targetFile = Join-Path $scriptDir "OpenClawPrecheck.exe" Write-Host "`n[1/3] Checking environment..." -ForegroundColor Cyan # Check source file if (-not (Test-Path $sourceFile)) { Write-Error "Error: Source file not found: $sourceFile`nPlease ensure this script is in the same directory as OpenClawPrecheck.ps1." exit 1 } # Check and install PS2EXE module if (-not (Get-Module -ListAvailable -Name PS2EXE)) { Write-Warning "PS2EXE module not found. Installing... (Internet connection required)" try { # Install to current user scope, no admin rights required usually Install-Module -Name PS2EXE -Scope CurrentUser -Force -SkipPublisherCheck Write-Host "PS2EXE installed successfully!" -ForegroundColor Green } catch { Write-Error "Installation failed. Please try running PowerShell as Administrator.`nError: $_" exit 1 } } Write-Host "[2/3] Packaging..." -ForegroundColor Cyan try { # -NoConsole: Critical parameter to hide the console window Invoke-PS2EXE -InputFile $sourceFile ` -OutputFile $targetFile ` -NoConsole ` -Title "OpenClaw Environment Check" ` -Version "1.0.0.0" ` -Description "OpenClaw Windows 11 Pre-check Tool" ` -Verbose } catch { Write-Error "Packaging failed: $_" exit 1 } Write-Host "`n[3/3] Done!" -ForegroundColor Cyan Write-Host "EXE generated at: $targetFile" -ForegroundColor Green Write-Host "You can now double-click the EXE to run it." -ForegroundColor Gray