Доброго времени суток!
Требуется помощь в реализации интересной задачи: опциональная установка произвольно выбираемого пользователем набора компонентов с помощью ключей запуска, передаваемых установщику.
Прелюдия:
Создал установщик на основе office 2010 pro plus RU с добавлением visio + project + sharepoint designer
добавил SP1
с помощью setup.exe /admin сделал msp файлы для каждого компонента (office pro plus + visio + project + sharepoint designer) и закинул их в папку к обновлениям
из настроек к этих файлах: абсолютно полный набор компонентов, интерфейс установки - полный, уведомление о завершении, подавление модальных окон
также в нем заложено копирование после установки нужного мне файла в директорию установки программы и его запуск с ключами (при этом этот файл включается в состав создаваемого msp файла, что увеличивает его размер)
создал по 2 копии файла config.xml с именами visible.xml и invisible.xml в которых раскомментировал пару строк
visible:
Код:

<Display Level="basic" CompletionNotice="no" SuppressModal="yes" AcceptEula="yes" />
<Setting Id="SETUP_REBOOT" Value="Never" />
т.е. интерфейс установки базовый автоматический без уведомления о завершении с подавлением модальных окон и согласием с лицензионным соглашением и безусловный запрет на перезагрузку
invisible:
Код:

<Display Level="none" CompletionNotice="no" SuppressModal="yes" AcceptEula="yes" />
<Setting Id="SETUP_REBOOT" Value="Never" />
т.е. без интерфейса, тихая автоматическая установка без уведомления о завершении с подавлением модальных окон и согласием с лицензионным соглашением и безусловный запрет на перезагрузку
упаковал в 7zip sfx архив с массой ключей с помощью которых можно запускать установщик того или иного компонента с полным набором входящих в него подкомпонентов (например office pro plus со всем что в него включено)
например требуется тихая установка полного офиса, установщик стартуют с ключем -ai2 чему соответствует выполнение после распаковки команды
setup.exe /config ProPlus.WW\invisible.xml
которая сама подхватывает заранее созданный msp файл лежащий в папке с обновлениями и параметры установки заданные файлом invisible.xml
Что хотелось бы реализовать:
К примеру пользователь захотел бы установить только word excel и powerpoint. безусловно я могу создать msp файл где могу выбрать этот набор компонентов, сохранить его в дистрибутиве и дать команду на установку
setup.exe /adminfile ProPlus.WW\custom.MSP /config ProPlus.WW\invisible.xml
но подобрать наборы компонентов "на все случаи жизни" просто нереально, а вариант в котором я создаю msp файл в котором установка только одного компонента, например word, в другом msp - только excel и запуск установок ключами передающими их
setup.exe /adminfile ProPlus.WW\word.MSP /config ProPlus.WW\invisible.xml
setup.exe /adminfile ProPlus.WW\excel.MSP /config ProPlus.WW\invisible.xml
этот вариант трудоемок, увеличивает размер дистрибутива, т.к. в соответствии с тем что я писал выше в каждый msp файл вшивается установка утилиты увеличивающей размер msp на свой размер дистрибутива (примерно пару мегабайт), а также установка получается очень длительной, т.к. происходит цикл:
установка одного компонента, автообновление, следом установка другого, автообновление и т.п.
вариант select edition с покомпонентной установкой тоже не рассматриваю по вышеуказанной причине (просто огромный размер дистрибутива, цикл последовательных установок отдельных компонентов и их обновлений)
а глобальных вопросов два:
Вопрос 1: можно ли конфигурируя xml файлы (например как делалось ваше для выбора степени видимости установки) выбирать нужный набор компонентов? (возможно мне показалось но в файле setup.xml перечислены компоненты для установки по умолчанию)
Вопрос 2: с целью уменьшения размера дистрибутива, уменьшив количество msp файлов, а также их размер, как грамотно прописать в нижеприведенной строке файла config.xml установку утилиты, чтобы не включать ее в каждый msp файл ?
Код:

<Command Path="%windir%\system32\msiexec.exe" Args="/i \\server\share\my.msi" QuietArg="/q" ChainPosition="after" Execute="install" />
например нужно реализовать установку с ключем ClassicMenu.exe /verysilent
сложность состоит в следующем: включая установку данного приложения из msp файла в который он включается, этот файл копируется в папку которую пользователь выбрал для установки программы и это необязательно путь по умолчанию благодаря команде включенной в msp файл
[INSTALLLOCATION]\classicmenu.exe и ниже приводится ключ для запуска автоматической скрытой установки /verysilent
нужно чтобы установка стартовала из xml файла, брала файл из корневой директории установщика (рядом с setup.exe) и копировала в папку с устанавливаемой программой а уже оттуда запускала его установку - как перенести переменную [INSTALLLOCATION] в xml или cmd файл запускающийся из под xml ?
Информации много, если написал недостаточно развернуто, прошу задавать вопросы