mirror of
https://github.com/actions/runner-images.git
synced 2025-12-14 22:05:17 +00:00
Improve Windows provisioners stability (#733)
* Improve Install-CloudFoundryCli.ps1 * Improve Install-Go.ps1 * Improve Install-Kind.ps1 * Improve Install-MysqlCli.ps1 * Improve Install-Rust.ps1 * Improve Install-SQLPowerShellTools.ps1 * Improve Update-AndroidSDK.ps1 * Fix issue with resolve
This commit is contained in:
@@ -5,57 +5,21 @@
|
||||
|
||||
Import-Module -Name ImageHelpers -Force
|
||||
|
||||
Function InstallMSI
|
||||
{
|
||||
Param
|
||||
(
|
||||
[String]$MsiUrl,
|
||||
[String]$MsiName
|
||||
)
|
||||
|
||||
$exitCode = -1
|
||||
|
||||
try
|
||||
{
|
||||
Write-Host "Downloading $MsiName..."
|
||||
$FilePath = "${env:Temp}\$MsiName"
|
||||
|
||||
Invoke-WebRequest -Uri $MsiUrl -OutFile $FilePath
|
||||
|
||||
$Arguments = ('/i', $FilePath, '/QN', '/norestart' )
|
||||
|
||||
Write-Host "Starting Install $MsiName..."
|
||||
$process = Start-Process -FilePath msiexec.exe -ArgumentList $Arguments -Wait -PassThru
|
||||
$exitCode = $process.ExitCode
|
||||
|
||||
if ($exitCode -eq 0 -or $exitCode -eq 3010)
|
||||
{
|
||||
Write-Host -Object 'Installation successful'
|
||||
return $exitCode
|
||||
}
|
||||
else
|
||||
{
|
||||
Write-Host -Object "Non zero exit code returned by the installation process : $exitCode."
|
||||
exit $exitCode
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
Write-Host -Object "Failed to install the MSI $MsiName"
|
||||
Write-Host -Object $_.Exception.Message
|
||||
exit -1
|
||||
}
|
||||
}
|
||||
$BaseUrl = "https://download.microsoft.com/download/8/7/2/872BCECA-C849-4B40-8EBE-21D48CDF1456/ENU/x64"
|
||||
|
||||
# install required MSIs
|
||||
$SQLSysClrTypesExitCode = InstallMSI -MsiUrl "https://download.microsoft.com/download/8/7/2/872BCECA-C849-4B40-8EBE-21D48CDF1456/ENU/x64/SQLSysClrTypes.msi" -MsiName "SQLSysClrTypes.msi"
|
||||
$SQLSysClrTypesName = "SQLSysClrTypes.msi"
|
||||
$SQLSysClrTypesUrl = "${BaseUrl}/${SQLSysClrTypesName}"
|
||||
Install-Binary -Url $SQLSysClrTypesUrl -Name $SQLSysClrTypesName
|
||||
|
||||
$SharedManagementObjectsExitCode = InstallMSI -MsiUrl "https://download.microsoft.com/download/8/7/2/872BCECA-C849-4B40-8EBE-21D48CDF1456/ENU/x64/SharedManagementObjects.msi" -MsiName "SharedManagementObjects.msi"
|
||||
$SharedManagementObjectsName = "SharedManagementObjects.msi"
|
||||
$SharedManagementObjectsUrl = "${BaseUrl}/${SharedManagementObjectsName}"
|
||||
Install-Binary -Url $SharedManagementObjectsUrl -Name $SharedManagementObjectsName
|
||||
|
||||
$PowerShellToolsExitCode = InstallMSI -MsiUrl "https://download.microsoft.com/download/8/7/2/872BCECA-C849-4B40-8EBE-21D48CDF1456/ENU/x64/PowerShellTools.msi" -MsiName "PowerShellTools.msi"
|
||||
$PowerShellToolsName = "PowerShellTools.msi"
|
||||
$PowerShellToolsUrl = "${BaseUrl}/${PowerShellToolsName}"
|
||||
Install-Binary -Url $PowerShellToolsUrl -Name $PowerShellToolsName
|
||||
|
||||
# install sqlserver PS module
|
||||
Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
|
||||
Install-Module -Name SqlServer -AllowClobber
|
||||
|
||||
exit $PowerShellToolsExitCode
|
||||
Install-Module -Name SqlServer -AllowClobber
|
||||
Reference in New Issue
Block a user