Powershell Script для установки VLC перестает работать, если я добавлю тихий аргумент - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть следующий сценарий, который берет установщик MSI в тот же каталог, что и мой сценарий, устанавливает его вместе с MST также в том же каталоге:

$scriptpath = $MyInvocation.MyCommand.Path
$dir = Split-Path $scriptpath
Start-Process msiexec.exe -Wait -WorkingDirectory $dir -ArgumentList '/i "vlc-3.0.4-win64.msi" /t "vlc-3.0.4-win64.mst"'

Кажется, это работает нормально (я должензатем через установщик, но, похоже, он прекрасно подхватывает преобразования), однако, если я попытаюсь добавить / qn к аргументам в -ArgumentList (который должен быть аргументом для тихой установки без пользовательского интерфейса из того, что я понимаю)запускается, но, похоже, не устанавливает программу вообще.

Я уверен, что я здесь тупой, но я не уверен, где.

Редактировать, глядя на файл журнала, который я получаю:

MSI (s) (B4:14) [13:02:41:978]: Note: 1: 2205 2:  3: Error 
MSI (s) (B4:14) [13:02:41:978]: Note: 1: 2228 2:  3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1708 
MSI (s) (B4:14) [13:02:41:978]: Note: 1: 2205 2:  3: Error 
MSI (s) (B4:14) [13:02:41:978]: Note: 1: 2228 2:  3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1709 
MSI (s) (B4:14) [13:02:41:978]: Product: VLC media player 3.0.4 (64-bit) -- Installation failed.

1 Ответ

0 голосов
/ 07 декабря 2018

Хорошо, я понял это, и, в конце концов, я был (очень) глуп.PowerShell ISE не был загружен с повышенными правами, поэтому, когда я запускал сценарий для проверки его с тихим аргументом, он работал нормально, но не смог завершиться, так как не может попросить меня повысить его при автоматической установке.Запуск его от повышенного ISE исправляет проблему.

...