I have a bootstrap script which does a lot of things to setup a new Windows installation. It calls other scripts within that script, including this one which installs some packages using winget:
@echo off
:: Install essential packages
winget install -e --id Git.Git
winget install -e --id Google.Chrome
winget install -e --id Logitech.OptionsPlus
winget install -e --id M2Team.NanaZip
winget install -e --id Microsoft.PowerToys
winget install -e --id Microsoft.VCRedist.2015+.x64
winget install -e --id Microsoft.VCRedist.2015+.x86
winget install -e --id Microsoft.WindowsTerminal
winget install -e --id Mozilla.Firefox
winget install -e --id Notion.Notion
winget install -e --id SomePythonThings.WingetUIStore
winget install -e --id WinDirStat.WinDirStat --include-unknown
winget install -e --id WinSCP.WinSCP
winget install -e --id chrisant996.Clink
winget install -e --id gerardog.gsudo
winget install -e --id hluk.CopyQ
winget install -e --id qutebrowser.qutebrowser -l "C:\Program Files\qutebrowser"
winget install -e --id vim.vim
It installs every up to Notion and then install WingetUIStore, but that takes quite a long time (I know this as it starts running when it finally does intstall), but then the next 6 packages are skipped and only vim gets installed after that. Running the script again installs the 6 missing packages.
Why is this happening and what can I do about it?
--custom
or--override
options can be used for that particular package to prevent it from starting once installed. If that doesn't work, you could try running that particular command usingstart
, so that the next can run whilst that continues separately to the rest; i.e.start winget.exe install --id SomePythonThings.WingetUIStore --exact
.