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