chocolatey/packages/qemu-guest-agent/tools/chocolateyinstall.ps1

41 lines
1.8 KiB
PowerShell
Raw Normal View History

2017-08-03 10:05:50 +02:00
# QEMU Guest Agent
2020-05-10 15:53:28 +02:00
# 2016-2020 foo.li systeme + software
2017-08-03 10:05:50 +02:00
$packageName = 'qemu-guest-agent'
2020-05-10 15:53:28 +02:00
$version = '100.0.0.0'
2017-08-03 10:05:50 +02:00
$installerType = 'msi'
2020-05-10 15:53:28 +02:00
$url = 'https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-qemu-ga/qemu-ga-win-' + $version + '-3.el7ev/qemu-ga-x86.msi'
$url64 = 'https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-qemu-ga/qemu-ga-win-' + $version + '-3.el7ev/qemu-ga-x64.msi'
2017-08-03 10:05:50 +02:00
$silentArgs = '/qb'
$packageSearch = 'QEMU guest agent*'
2020-05-10 15:53:28 +02:00
$checksum = '7f298036d0445dc32601e8416bc59e623639d282'
2017-08-03 10:05:50 +02:00
$checksumType = 'sha1'
2020-05-10 15:53:28 +02:00
$checksum64 = '50cb4a3840665d4ffdff1c0d27a14074165fc501'
2017-08-03 10:05:50 +02:00
$checksumType64 = $checksumType
$validExitCodes = @(0,3010)
$compmanu = Get-WmiObject Win32_ComputerSystem | select manufacturer
if ($compmanu.manufacturer -like '*Bochs*') { Write-Host 'QEMU/KVM detected' }
2020-05-10 15:53:28 +02:00
elseif ($compmanu.manufacturer -like '*QEMU*'){ Write-Host 'QEMU/KVM detected' }
else {
2017-08-03 10:05:50 +02:00
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)) {
2020-05-10 15:53:28 +02:00
Write-Host 'QEMU Guest Agent' $version 'or higher is already installed. Doing nothing.'
2017-08-03 10:05:50 +02:00
} else {
Install-ChocolateyPackage $packageName $installerType $silentArgs $url $url64 `
-checksum $checksum -checksumType $checksumType `
-checksum64 $checksum64 -checksumType64 $checksumType64 `
-validExitCodes $validExitCodes
}
} catch {
throw $_.Exception
}