param()

function Test-IsAdministrator {
    $currentIdentity = [Security.Principal.WindowsIdentity]::GetCurrent()
    $principal = New-Object Security.Principal.WindowsPrincipal($currentIdentity)
    return $principal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
}

if (-not (Test-IsAdministrator)) {
    Write-Host "管理者権限で実行してください。"
    Read-Host "Enterキーを押して終了します"
    exit 1
}

Write-Host "winget で FFmpeg をインストールします..."
winget install --id=Gyan.FFmpeg -e
$exitCode = $LASTEXITCODE

if ($exitCode -eq 0) {
    Write-Host "FFmpegのインストールが完了しました。"
} else {
    Write-Host "FFmpegのインストールに失敗しました。エラーコード: $exitCode"
}

Read-Host "Enterキーを押して終了します"
exit $exitCode
