TL; DR Каков разумный способ автоматизировать вызов VS 2017 vc_redist
при вызове в цепочке из нескольких инсталляторов?
Visual C ++Распространяемый установщик , который MS предоставляет для VS 15.x (VS 2017), а именно Оба (14.15.26706 - VS 15.8.4)):
vc_redist.x86.exe
vc_redist.x64.exe
В рамках нашей полной установки продукта я должен запустить несколько установщиков vcredist (также более старых версий) в режиме без вывода сообщений.
Проблема теперь в том, что эти установщики откажутся от установки, если перезагрузка ожидает (например, "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager" - PendingFileRenameOperations
).
При вызове этих установщиков с vc_redist /q
они будут даже вызывает немедленную перезагрузку системы.Это можно исправить, вызвав их с /q /norestart
, однако:
При вызове vc_redist /q /norestart
, и если перезагрузка ожидает до для этого установщика, он вернет код выхода MSI 3010
, который указывает, что требуется перезагрузка.
Однако , AFAIK, этот код выхода также указывает, что для выполнения этой настройки требуется перезагрузка.
Актуальный вопрос
Итак, я не могу различить , был ли успешен этот установщик, и просто требует перезагрузки в самом конце моей последовательности установки (я устанавливаю другие компоненты до и после) - или если установщик на самом деле отказался что-либо делать , и мне нужно было бы перезапустить систему и запустить этот установщик снова!
Как я могу вызвать этот vc_redist вцепочка различных сторонних инсталляторов и
- в идеале требуется только одна перезагрузка в самом конце
- , по крайней мере, определить, успешно ли он установлен.
Некоторые дополнительные сведения, fwiw:
Не уверен, что эти helkp с вопросом, но ради полноты.
- Графический интерфейс установщика четко указывает, что происходит: (извините, немецкий Windows)
![Popup Box](https://i.stack.imgur.com/PWreg.png)
"Никаких действий не предпринималось, поскольку требуется перезагрузка системы."
![Summary / Close / Restart](https://i.stack.imgur.com/ejuyq.png)
Как видно изэта последовательность, перезагрузка после каждого vcredist, будет безумной, и, к счастью, пока только повторный выпуск 2017 года демонстрирует это прискорбное поведение до сих пор.с перезагрузкой, уже ожидающей на «шаге 0», и оба установщика VC2005 и VC2010 работают очень хорошо (как проверено в ходе их графического интерфейса), даже если перезагрузка является ожидающей до этого.Это установщики VC2017, которые отказываются что-либо делать, если ожидается перезагрузка.