# QEMU Guest Agent # 2016-2021 foo.li systeme + software $packageName = 'qemu-guest-agent' $version = '102.7.0' $installerType = 'msi' $url = 'https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-qemu-ga/qemu-ga-win-' + $version + '-0-el8/qemu-ga-x86.msi' $url64 = 'https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-qemu-ga/qemu-ga-win-' + $version + '-0.el8/qemu-ga-x86_64.msi' $silentArgs = '/qb' $packageSearch = 'QEMU guest agent*' $checksum = '52dd465b996b1f9ec7e83e64a7f2e147a07f886c' $checksumType = 'sha1' $checksum64 = '0d16fcde5d183fba5ca00be47e13c50d00aa5580' $checksumType64 = $checksumType $validExitCodes = @(0,3010) $compmanu = Get-WmiObject Win32_ComputerSystem | select manufacturer if ($compmanu.manufacturer -like '*Bochs*') { Write-Host 'QEMU/KVM detected' } elseif ($compmanu.manufacturer -like '*QEMU*'){ Write-Host 'QEMU/KVM detected' } else { Write-Host 'could not detect QEMU/KVM virtual machine. Stopping deployment' throw 'no KVM/QEMU VM detected' } try { $app = Get-ItemProperty -Path @('HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*', 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*') ` -ErrorAction:SilentlyContinue | Where-Object { $_.DisplayName -like $packageSearch } if ($app -and ([version]$app.DisplayVersion -ge [version]$version)) { Write-Host 'QEMU Guest Agent' $version 'or higher is already installed. Doing nothing.' } else { Install-ChocolateyPackage $packageName $installerType $silentArgs $url $url64 ` -checksum $checksum -checksumType $checksumType ` -checksum64 $checksum64 -checksumType64 $checksumType64 ` -validExitCodes $validExitCodes } } catch { throw $_.Exception }