Несколько часов изучал этот вопрос, но как-то оно криво все получается... Office 2016 не умеет менять список установленных компонентов из командной строки. По крайне мере, мне не удалось найти каких-то реально рабочих рецептов на этот счет. Единственное чего удалось добиться - это удаленно снести Office с виртуальной машины и поставить его повторно туда же, но уже с нужным списком компонентов. Хотя даже это не очень просто делается, кучу костылей приходится использовать.
1)
https://habr.com/ru/articles/676064/ - отправная точка, там рассказано про PsExec64, которая позволяет запускать файлы на удаленном ПК. Но есть ограничения. Например, PsExec64 не умеет запускать файлы с общих папок и не всегда корректно поддерживает аргументы командной строки. Я папку с дистрибутивом Офиса вручную перенес в виртуальную машину, но, вероятно, копирование и удаление папки можно автоматизировать через .bat-файлы, однако этот вопрос я уже не стал копать.
2) На реальном ПК я выполнил следующую команду:
Код:
PsExec64.exe -i \\VIRTUAL-PC -u "Virtual User" "C:\\Microsoft Office 2016 (32-bit)\setup.exe"
На всякий случай подчеркну, что диск С в ней означает диск именно на виртуальной машине. Как уже говорилось выше, я скопировал дистрибутив Офиса в виртуалку. Возможно, сработает и установка через сеть, если подключить расшаренную папку как сетевой диск, но там тоже есть подводные камни, см.
тут подробнее (опять-таки, я этот вариант не проверял, но выглядит вполне рабочим).
3) Конфигурация Офиса. Office 2016 сделан таким образом, что при запуске setup.exe обрабатываются все файлы в подкаталоге "updates" во время установки. В этом каталоге обычно лежат обновления для офиса и конфигурационный файл (любое_имя.msp), в котором хранится список устанавливаемых компонентов. Чтобы заиметь .msp-файл со сценарием установки, нужно сначала на любом компе запустить setup.exe /admin - Офис запустится в режиме конфигуратора и можно будет задать список устанавливаемых компонентов.
4) Удаление Офиса сделано через одно место. Если просто запустить setup.exe /uninstall, то он пошлет нас куда подальше. Для корректного удаления Офиса из командной строки надо указать удаляемую редакцию и .xml-файл, в котором содержатся сведения об установленном продукте. Примерно так:
Код:
<Configuration Product="Standard">
<Display Level="none"
CompletionNotice="no"
SuppressModal="yes"
AcceptEula="yes" />
</Configuration>
Если редакция не Стандартная, а Профессиональная Плюс, то заменяем Standard на ProPlus (вроде так правильно сокращается). Сохраняем это всё через Блокнот под именем типа config.xml, кладем его рядом с setup.exe и выполняем у себя на компе команду:
Код:
PsExec64.exe -i \\VIRTUAL-PC -u "Virtual User" "C:\Microsoft Office 2016 (32-bit)\setup.exe" /Uninstall Standard /Config config.xml"
Это удалит Office 2016 (Стандартный) с удаленного ПК. Соответственно, сначала запускаем Uninstall для удаления, а затем просто setup.exe (как в пункте №2) для установки с нуля с нужным списком компонентов.
P.S. Если будет писать про отказ в доступе, то надо добавить в реестр LocalAccountTokenFilterPolicy на удаленном ПК (подробнее см.
тут).
P.P.S. У меня PsExec64 выдавал все ошибки в неправильной кодировке, приходилось вручную копировать кракозябры и распознавать их тут:
https://www.online-decoder.com/ru
P.P.P.S. Учитывая количество сложностей, я бы забил вообще на удаление Outlook. Экономия 100-200Мбайт того не стоит, как мне кажется.