Назад | Перейти на главную страницу

Как автоматически принять соглашение о конфиденциальности при установке VS2017 через командную строку?

В рамках управления средами я хочу установить Visual Studio 2017 через командную строку. Однако при установке 2017 у меня возникают проблемы, которых не было при установке 2015. После документация У меня есть простой скрипт Powershell:

Start-Process C:\\windows\\temp\\vs2017\\vs_professional_2017 --ArgumentList "/Quiet /NoRestart /Log C:\\Windows\\Temp\\InstallVs2017\\install.log" -Wait

Что отлично работало для VS2015. И он запускает установку, но через пару секунд отображает диалоговое окно для принятия заявления о конфиденциальности и условий лицензии. Я не могу найти --accepteula флаг или что-то подобное, чтобы обойти это (кстати, я бы подумал, что если quiet Предполагается, что пользовательский интерфейс подавит и это тоже). Есть комментарий по этому поводу в документация, но они не могли найти выхода. Как вы автоматически принимаете это? Я чувствую, что упускаю что-то очевидное, но я еще не понял этого.

Попробуйте использовать эти переключатели, по отдельности и в комбинации, или откройте MSI с помощью Orca и измените переменную EULA.

ACCEPT=YES
ACCEPTEULA=1
ASSOCIATE=1

Мне действительно удалось заставить это работать. Первая проблема заключается в том, что параметры больше нельзя обозначать /, они должны быть обозначены --. По-видимому / сейчас запрещено, я где-то это пропустил.

Я также уронил /Log вариант. Он не существует в качестве опции для VS2017, хотя, если вам все еще нужно получить журналы установки, у них есть способ получить их.

После внесения этих изменений VS2017 был успешно установлен без необходимости вручную принимать условия; он не выбирал варианты, потому что я не использовал --. Я также добавил .exe для завершения в исполняемый файл.

Start-Process C:\\windows\\temp\\vs2017\\vs_professional_2017.exe --ArgumentList "--quiet --norestart" -Wait

Powerbi MSI принимает "ACCEPT_EULA=1" . Вы можете попробовать, если в Visual Studio 2017 ничего не получится.