-
-
Notifications
You must be signed in to change notification settings - Fork 67
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug]: VMware applications fail due to changes to product API #678
Comments
I'll be removing these applications from Evergreen for the time being. It's likely the API used to find downloads is not going to be available on the Broadcom site and changes at Omnissa are still on-going |
VMware Horizon Client is available on Omnissa. |
I've reversed the auto update API call, but the downloads are in .tar format and they are cut down in that there are no VMware Tools ISOs included. function Decompress-GZip($Path, $Destination) {
$inStream = New-Object System.IO.FileStream $Path, ([IO.FileMode]::Open), ([IO.FileAccess]::Read), ([IO.FileShare]::Read)
$gzipStream = New-Object System.IO.Compression.GZipStream $inStream, ([IO.Compression.CompressionMode]::Decompress)
$outStream = New-Object System.IO.FileStream $Destination, ([IO.FileMode]::Create), ([IO.FileAccess]::Write), ([IO.FileShare]::None)
$buffer = New-Object byte[](1024)
while(($read = $gzipStream.Read($buffer, 0, 1024)) -gt 0) {
$outStream.Write($buffer, 0, $read)
}
$gzipStream.Close()
$outStream.Close()
$inStream.Close()
}
$TempPath = Join-Path $env:TEMP (New-Guid).Guid
New-Item -Path $TempPath -ItemType Directory -Force | Out-Null
$Products = @(
@{
ProductName = 'VMware Workstation Pro'
URL = 'https://softwareupdate.vmware.com/cds/vmw-desktop/ws-windows.xml'
MajorVersion = 17
}
@{
ProductName = 'VMware Workstation Player'
URL = 'https://softwareupdate.vmware.com/cds/vmw-desktop/player-windows.xml'
MajorVersion = 17
}
@{
ProductName = 'VMware Remote Console'
URL = 'https://softwareupdate.vmware.com/cds/vmw-desktop/vmrc-windows.xml'
#MajorVersion = 12
}
)
foreach ($Product in $Products) {
try {
$XML = Invoke-RestMethod -Uri $Product.URL -DisableKeepAlive
}
catch {
Write-Error "Failed to download $($Product.URL): $_"
continue
}
$MajorVersions = ($XML.metaList.metadata.url | Select-String -Pattern '\d+').Matches.Groups.Value | Sort-Object -Unique
if ($Product.MajorVersion) {
$MajorVersions = $MajorVersions | Where-Object {$_ -eq $Product.MajorVersion}
}
foreach ($MajorVersion in $MajorVersions) {
try {
$Version = (($XML.metaList.metadata.url | Select-String -Pattern "$MajorVersion(?:\.\d+)+").Matches.Groups.Value | ForEach-Object {[version]$_} | Sort-Object -Descending | Select-Object -First 1).ToString()
$MetadataURL = 'https://softwareupdate.vmware.com/cds/vmw-desktop/' + ($XML.metaList.metadata.url | Where-Object {$_ -match "/$Version/(?!.*packages)"})
$Download = Invoke-Download -Uri $MetadataURL -Destination $TempPath -PassThru
$MetadataPath = $Download.FullName -Replace '\.gz$'
Decompress-GZip -Path $Download.FullName -Destination $MetadataPath
$MetadataXML = [xml](Get-Content -Path $MetadataPath)
$URL = (Split-Path $MetadataURL -Parent) + $MetadataXML.metadataResponse.bulletin.componentList.component.relativePath.'#text'
[PSCustomObject]@{
Name = $Product.ProductName
MajorVersion = $MajorVersion
Version = $Version
URI = $URL
}
}
catch {
Write-Error "Error: $_"
continue
}
}
}
Remove-Item -Path $TempPath -Recurse -Force (Invoke-Download is from my PsDownload, so install that or change the code to run the above) |
The new URI for the VMware Horizon Client is https://softwareupdate.vmware.com/horizon-clients/viewcrt-mac/viewcrt-windows.xml |
What happened?
Recent changes to the VMware products and the move Omnissa have broken the available updates from the products API at: https://customerconnect.vmware.com/channel/public/api/v1.0/products/getProductsAtoZ
These will likely remain broken until the new Omnissa downloads site is live and working, and assuming it will also provide a similar API.
This affects:
Version
2405.994
What PowerShell edition/s are you running Evergreen on?
PowerShell Core, Windows PowerShell
Which operating system/s are you running Evergreen on?
Windows 10+, macOS
Have you reviewed the documentation?
Verbose output
The text was updated successfully, but these errors were encountered: