Установка EXE с ресурсом пакета PowerShell DSC Получает код возврата 1619

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

Вопрос

Я пытаюсь использовать ресурс пакета PowerShell DSC для установки EXE ... Perforce P4V Perforce. Вот мой код:

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

При запуске этого это ошибка PowerShell дает мне:

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
.

Согласно Документация , код возврата 1619 означает, что пакет MSI не может быть открыт. Однако, когда я вручную вошел в машину и запустите « \\ NAS \ Share \ p4vinst64.exe / s / v / qn », установка работает безупречно.

Кто-нибудь знает, почему это не может? Кроме того, кто-нибудь может сказать мне, как это устранить? Я вставил всю информацию об ошибке, которую я получил от терминала, мой файл журнала (p4v_install.log) - это байтовый файл, и в просмотру событий нет событий. Я не знаю, как это устранить еще больше!

Редактировать : Я должен отметить, что я также пытался использовать файл-ресурс, чтобы скопировать файл локально, а затем установить его оттуда. К сожалению, что встретился с тем же результатом.

Это было полезно?

Решение

Даниэль над PowerShell.org форумы смогли понять это для меня.

Установка установки P4V InstallShield устанавливает файл MSI на неправильный путь, если вы выполняете как LocalSystem .

Мне удалось разработать конфигурацию, которая работает, см. Ниже.Ключ является переключателем / B здесь, который помещает файл MSI в определенное местоположение.Я добавил ALLUSERS=1, чтобы получить ярлыки, видимые всем пользователям и REBOOT=ReallySuppress, чтобы избежать внезапного перезапуска (что произойдет иначе).

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

Другие советы

Ну, что происходит вот то, что пакет устанавливается (не тестировал с p4vinst64.exe еще! Итак, не уверен, почему он говорит, что пакет не может быть открыт как ошибка), но поскольку вы не указывали значение GeneracodicCode, проверкаВ конце установки не удается.Это ошибка, которую вы видите.Ресурс ProductID не является хорошим для установки пакетов .exe или даже MSIS без продукта, представленного как GUID.

Вы можете использовать ресурс Package вместо этого.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top