PowerShell msi-Paket installieren
MSI-Pakete können in Powershell unter anderem über Start-Process gestartet werden. Zur Kontrolle kann die Software dann in der Registry ausgelesen werden:
$DisplayNameRegistry="MSITestpaket" #muss ev. einmalig installiert werden, um den genauen Namen aus der Registry auszulesen und hier zu verwenden
$msifile="setup.msi"
$arguments = @(
"/i"
"""$($PSScriptRoot)\$msifile"""
"/qn"
"/norestart"
"/li"
"""$($env:temp)\msi_install_$(Get-Date -format 'yyyyMMdHHmm').log"""
)
$process = Start-Process -FilePath msiexec.exe -ArgumentList $arguments -Wait -PassThru
if ($process.ExitCode -eq 0){
Write-Host "Package has been successfully installed take a look at: $($env:temp)\msi_$(Get-Date -format 'yyyyMMdHHmm').log"
if ($(Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*) | where-object {$_.DisplayName -eq $DisplayNameRegistry}) {
Write-Host "Installation found in Registry"
} else {
Write-Host "something went wrong: unable to find Installation in Registry"
exit 1
}
} else {
Write-Host "installer exit code $($process.ExitCode) for file $($msifile)"
exit $process.ExitCode
}
({{pro_count}})
Beitrag bewerten:{{percentage}} % positiv
({{con_count}})