diff --git a/packer/windowsserver2019.pkr.hcl b/packer/windowsserver2019.pkr.hcl index 8f298d1..33381b3 100644 --- a/packer/windowsserver2019.pkr.hcl +++ b/packer/windowsserver2019.pkr.hcl @@ -204,30 +204,30 @@ build { "scripts/Install-WinGet.ps1" ] } - provisioner "powershell" { - inline = [ - "winget install mozilla.firefox", - "winget install 7zip.7zip", - "winget install microsoft.dotnetframework" - ] - // valid_exit_codes = [0, 3010] - } // provisioner "powershell" { // inline = [ - // "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12", - // "Invoke-Expression ((New-Object Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" + // "winget install mozilla.firefox", + // "winget install 7zip.7zip", + // "winget install microsoft.dotnetframework" // ] + // // valid_exit_codes = [0, 3010] // } - // provisioner "powershell" { - // inline = [ - // "choco config set --name=limit-output --value=LimitOutput", - // "choco install -y dotnetfx", - // "choco install -y 7zip.install", - // "choco install -y sysinternals", - // "choco install -y firefox" - // ] - // valid_exit_codes = [0, 3010] - // } + provisioner "powershell" { + inline = [ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12", + "Invoke-Expression ((New-Object Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" + ] + } + provisioner "powershell" { + inline = [ + "choco config set --name=limit-output --value=LimitOutput", + "choco install -y dotnetfx", + "choco install -y 7zip.install", + "choco install -y sysinternals", + "choco install -y firefox" + ] + valid_exit_codes = [0, 3010] + } provisioner "windows-update" { } diff --git a/scripts/Install-WinGet.ps1 b/scripts/Install-WinGet.ps1 index 77b0b1f..c27c9a2 100644 --- a/scripts/Install-WinGet.ps1 +++ b/scripts/Install-WinGet.ps1 @@ -29,16 +29,22 @@ ForEach ($Dependency in $AppxDependencies) { } Invoke-WebRequest @InvokeWebRequestSplat } -# Download latest release from github +# Download latest release (along with license) from github $InvokeRestMethodSplat = @{ Uri = "https://api.github.com/repos/microsoft/winget-cli/releases/latest" Method = 'GET' } +$LatestRelease = Invoke-RestMethod @InvokeRestMethodSplat $InvokeWebRequestSplat = @{ - Uri = ((Invoke-RestMethod @InvokeRestMethodSplat).assets | Where-Object {$_.name -like '*.msixbundle'}).browser_download_url + Uri = ($LatestRelease.assets | Where-Object {$_.name -like '*.msixbundle'}).browser_download_url OutFile = "$env:temp\winget.msixbundle" } Invoke-WebRequest @InvokeWebRequestSplat +$InvokeWebRequestSplat = @{ + Uri = ($LatestRelease.assets | Where-Object {$_.name -like '*license*.xml'}).browser_download_url + OutFile = "$env:temp\wingetlicense.xml" +} +Invoke-WebRequest @InvokeWebRequestSplat # Install dependencies $AppxDependencies.ShortName | ForEach-Object {