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
    }
positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE für deine Bewertung!



Fragen / Kommentare


Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Außerdem geben wir Informationen zu Ihrer Nutzung unserer Website an unsere Partner für soziale Medien, Werbung und Analysen weiter. Details anzeigen.