L'installation d'un exe avec la ressource Powershell DSC Package obtient le code de retour 1619

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

Question

J'essaie d'utiliser la ressource Package de Powershell DSC pour installer un exe...Le P4V de Perforce pour être précis.Voici mon 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"
        }
    }
}

Lors de l'exécution de ceci, voici l'erreur que Powershell me donne :

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

Selon Documentation, le code retour 1619 signifie que le package MSI n'a pas pu être ouvert.Cependant, lorsque je me connecte manuellement à la machine et que j'exécute "\ as\share\p4vinst64.exe /S /V/qn", l'installation fonctionne parfaitement.

Est-ce que quelqu'un sait pourquoi cela échoue ?Sinon, quelqu'un peut-il me dire comment résoudre ce problème ?J'ai collé toutes les informations d'erreur obtenues du terminal, mon fichier journal (p4v_install.log) est un fichier de 0 octet et il n'y a aucun événement dans l'observateur d'événements.Je ne sais plus comment résoudre le problème !

MODIFIER:Je dois noter que j'ai également essayé d'utiliser la ressource File pour copier le fichier localement, puis de l'installer à partir de là.Malheureusement, cela a abouti au même résultat.

Était-ce utile?

La solution

Daniel au Powershell.org les forums ont pu comprendre cela pour moi.

Le wrapper d'installation de P4V InstallShield place le fichier MSI dans un mauvais chemin si vous l'exécutez en tant que Système local.

J'ai réussi à développer une configuration qui fonctionne, voir ci-dessous.La clé est ici le commutateur /b qui place le fichier MSI dans un emplacement défini.J'ai ajouté ALLUSERS=1 pour que les raccourcis soient visibles à tous les utilisateurs et REBOOT=ReallySuppress pour éviter un redémarrage brutal (ce qui se produirait autrement).

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
    }
} 

Autres conseils

Eh bien, ce qui se passe ici, c'est que le package est installé (pas encore testé avec p4vinst64.exe !Donc, je ne sais pas pourquoi il est dit que le pack ne peut pas être ouvert comme erreur) mais comme vous n'avez pas spécifié de ProductID valeur, la vérification à la fin de l'installation échoue.C'est l'erreur que vous voyez.Le Package La ressource n'est pas bonne pour installer des packages .exe ou même des MSI sans ProductID représenté comme GUID.

Vous pouvez utiliser le WindowsProcess ressource à la place.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top