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


Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu Mehr Details