X-Git-Url: https://vilimpoc.org/repos/dotfiles/blobdiff_plain/2e281421e8cccce19bc1b43bb5bdd7d877870b4e..a3a0d58cbdb1c79baa1454885179fefef1a2670a:/setup-windows.bat diff --git a/setup-windows.bat b/setup-windows.bat index f69eced..cc12420 100644 --- a/setup-windows.bat +++ b/setup-windows.bat @@ -8,6 +8,7 @@ winget install Anthropic.ClaudeCode winget install Git.Git winget install Microsoft.PowerShell Microsoft.Sysinternals.ProcessExplorer Microsoft.Sysinternals.ProcessMonitor Microsoft.Sysinternals.SDelete Microsoft.VisualStudioCode Microsoft.WindowsTerminal +winget install Oracle.VirtualBox winget install Python.Python.3.13 winget install WinMerge.WinMerge winget install WiXToolset.WiXCLI @@ -17,21 +18,6 @@ winget install WiXToolset.WiXCLI @rem which it reads). The installer elevates via UAC. winget install OpenCppCoverage.OpenCppCoverage -@rem --- Non-elevated PowerShell half --- -@rem WinMerge on the user PATH, BinSkim, and the global git config (identity + -@rem core.sshCommand -> the Windows OpenSSH client, so git shares the Windows -@rem ssh-agent). EDIT THE GIT IDENTITY at the top of setup-windows-no-uac.ps1 -@rem before the first run. -@rem -@rem Deliberately NOT elevated: every step writes per-user state (the HKCU PATH, -@rem the .gitconfig under %USERPROFILE%), which the elevated half would write to -@rem the administrator profile instead. -@rem -@rem Non-fatal: these are conveniences, and the elevated half below is the part -@rem worth the UAC prompt. A failure warns and provisioning continues. -powershell -NoProfile -ExecutionPolicy Bypass -File "%~dp0setup-windows-no-uac.ps1" -if not "%ERRORLEVEL%"=="0" echo [setup-windows] WARNING: setup-windows-no-uac.ps1 reported a failure ^(see above^); continuing. - @rem --------------------------------------------------------------------------- @rem No package manager needed for the Windows build @rem @@ -59,6 +45,27 @@ if exist "%UAC_LOG%" ( echo [setup-windows] The elevated window may have been cancelled at the UAC prompt. ) +@rem --- Non-elevated PowerShell half --- +@rem WinMerge on the user PATH, BinSkim, and the global git config (identity + +@rem core.sshCommand -> a Win32-OpenSSH client, so git shares the Windows +@rem ssh-agent). EDIT THE GIT IDENTITY at the top of setup-windows-no-uac.ps1 +@rem before the first run. +@rem +@rem Deliberately NOT elevated: every step writes per-user state (the HKCU PATH, +@rem the .gitconfig under %USERPROFILE%), which the elevated half would write to +@rem the administrator profile instead. +@rem +@rem AFTER the elevated half on purpose: core.sshCommand prefers the ssh.exe that +@rem half unpacks beside rsync.exe - a push through the in-box client is capped +@rem at ~17MB/s - and it can only prefer it once it is on disk. Run either way, +@rem including when the elevated half failed above: nothing here depends on it, +@rem and the fallback is the in-box client that Windows already has. +@rem +@rem Non-fatal: these are conveniences, and the elevated half is the part worth +@rem the UAC prompt. A failure warns and provisioning continues. +powershell -NoProfile -ExecutionPolicy Bypass -File "%~dp0setup-windows-no-uac.ps1" +if not "%ERRORLEVEL%"=="0" echo [setup-windows] WARNING: setup-windows-no-uac.ps1 reported a failure ^(see above^); continuing. + if not "%UAC_RC%"=="0" ( echo. echo [setup-windows] ELEVATED SETUP FAILED ^(exit code %UAC_RC%^). See log above.