Bei der Installation einer Exe-Datei mit der Powershell-DSC-Paketressource wird der Rückkehrcode 1619 angezeigt

StackOverflow https://stackoverflow.com//questions/24004455

Frage

Ich versuche, die Paketressource von Powershell DSC zu verwenden, um eine Exe-Datei zu installieren ...Genauer gesagt das P4V von Perforce.Hier ist mein Code:

Configuration PerforceMachine
{
    Node "SERVERNAME"
    {
        Package P4V
        {
            Ensure = "Present"
            Name = "Perforce Visual Components"
            Path = "\\nas\share\p4vinst64.exe"
            ProductId = ''
            Arguments = "/S /V/qn" # args for silent mode
            LogPath = "$env:ProgramData\p4v_install.log"
        }
    }
}

Wenn ich dies ausführe, gibt mir Powershell folgenden Fehler aus:

PowerShell provider MSFT_PackageResource failed to execute Set-TargetResource functionality with error message: The return code 1619 was not expected. Configuration is likely not
correct
    + CategoryInfo          : InvalidOperation: (:) [], CimException
    + FullyQualifiedErrorId : ProviderOperationExecutionFailure
    + PSComputerName        : SERVERNAME

Entsprechend Dokumentation, Rückgabecode 1619 bedeutet, dass das MSI-Paket nicht geöffnet werden konnte.Wenn ich mich jedoch manuell am Computer anmelde und „\ as\share\p4vinst64.exe /S /V/qn", die Installation funktioniert einwandfrei.

Weiß jemand, warum dies fehlschlägt?Kann mir alternativ jemand sagen, wie ich das Problem beheben kann?Ich habe alle Fehlerinformationen, die ich vom Terminal erhalten habe, eingefügt, meine Protokolldatei (p4v_install.log) ist eine 0-Byte-Datei und es gibt keine Ereignisse in der Ereignisanzeige.Ich weiß nicht, wie ich das Problem weiter beheben kann!

BEARBEITEN:Ich sollte beachten, dass ich auch versucht habe, die Datei mithilfe der Dateiressource lokal zu kopieren und sie dann von dort zu installieren.Leider kam das zum gleichen Ergebnis.

War es hilfreich?

Lösung

Daniel drüben im Powershell.org Foren konnten das für mich herausfinden.

Der P4V InstallShield-Setup-Wrapper legt die MSI-Datei im falschen Pfad ab, wenn Sie als ausführen Lokales System.

Es ist mir gelungen, eine Konfiguration zu entwickeln, die funktioniert, siehe unten.Der Schlüssel ist hier der Schalter /b, der die MSI-Datei an einem definierten Speicherort ablegt.Ich habe hinzugefügt ALLUSERS=1 um die Verknüpfungen für alle Benutzer sichtbar zu machen und REBOOT=ReallySuppress um einen plötzlichen Neustart zu vermeiden (der sonst passieren würde).

Configuration PerforceMachine
{
    Package P4V
    {
        Ensure = "Present"
        Name = "Perforce Visual Components"
        Path = "C:\My\p4vinst64.exe"
        ProductId = ''
        Arguments = '/b"C:\Windows\Temp\PerforceClient" /S /V"/qn ALLUSERS=1 REBOOT=ReallySuppress"' # args for silent mode
    }
} 

Andere Tipps

Nun, was hier passiert, ist, dass das Paket installiert wird (noch nicht mit p4vinst64.exe getestet!Ich bin mir also nicht sicher, warum der Fehler lautet, dass das Paket nicht geöffnet werden kann), aber da Sie kein a angegeben haben ProductID Wert, schlägt die Überprüfung am Ende der Installation fehl.Das ist der Fehler, den Sie sehen.Der Package Die Ressource eignet sich nicht für die Installation von .exe-Paketen oder sogar MSIs ohne ProductID, die als GUID dargestellt wird.

Du kannst den ... benutzen WindowsProcess stattdessen eine Ressource.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top