A instalação de um exe com o recurso Powershell DSC Package obtém o código de retorno 1619

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

Pergunta

Estou tentando usar o recurso Package do Powershell DSC para instalar um exe...P4V da Perforce para ser mais específico.Aqui está meu código:

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

Ao executar isso, este é o erro que o Powershell me dá:

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

De acordo com documentação, o código de retorno 1619 significa que o pacote MSI não pôde ser aberto.No entanto, quando faço login manualmente na máquina e executo "\ as\share\p4vinst64.exe /S /V/qn", a instalação funciona perfeitamente.

Alguém sabe por que isso está falhando?Como alternativa, alguém pode me dizer como solucionar isso?Colei todas as informações de erro que obtive do terminal, meu arquivo de log (p4v_install.log) é um arquivo de 0 byte e não há eventos no visualizador de eventos.Não sei mais como solucionar isso!

EDITAR:Devo observar que também tentei usar o recurso Arquivo para copiar o arquivo localmente e instalá-lo a partir daí.Infelizmente, isso teve o mesmo resultado.

Foi útil?

Solução

Daniel lá no Powershell.org fóruns foi capaz de descobrir isso para mim.

O wrapper de configuração do P4V InstallShield coloca o arquivo MSI no caminho errado se você executar como Sistema Local.

Consegui desenvolver uma Configuração que funciona, veja abaixo.A chave é a opção /b aqui, que coloca o arquivo MSI em um local definido.Eu já adicionei ALLUSERS=1 para tornar os atalhos visíveis para todos os usuários e REBOOT=ReallySuppress para evitar uma reinicialização repentina (o que acontecerá de outra forma).

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

Outras dicas

Bem, o que acontece aqui é que o pacote é instalado (ainda não testado com p4vinst64.exe!Então, não sei por que diz que o pacote não pode ser aberto como erro), mas como você não especificou um ProductID valor, a verificação no final da instalação falhará.Esse é o erro que você está vendo.O Package O recurso não é bom para instalar pacotes .exe ou mesmo MSIs sem ProductID representado como GUID.

Você pode usar o WindowsProcess recurso em vez disso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top