Облегчение
Обновление
Начну с него, потому что тут коротко: воспользовавшись гайдом, удалил из папки AdobePhotoshop11-Core_x64-180209100217 всё, кроме *proxy*. Запуск обновления - setup.exe --mode=Silent. Всё.
Инсталлятор
Тут многое взято из официального гайда, но кое-что пришлось самому додумывать.
0) Редактируем скрипты, как в гайде (в resources\common\scripts\silentWorkflow.js закомментирываем
(режет глаз) строку 1035 payloadPolicyFailure = true; и строки 1107-1108 if (action != kInstallerActionNone) и err = true; ).
1) Удаляем папку Deployment.
2) В extensions удаляем *-en_GB, *-es_MX, *-fr_CA, AdobePhotoshop11-en_US_x64, DeviceCentral2LP-en_US.
3) Удаляем папку redist.
4) payloads: внутри подпапок компонентов, которые не планируется устанавливать, удаляем всё, кроме *proxy*. Какие можно удалять, какие нет - в гайде хорошо всё написано, респект автору топика

5) Запуск инсталлятора - setup.exe --mode=Silent --deploymentFile="setup.xml".
Сжатие
.msi
Некоторые из них (например в папке с Photoshop Core, или собственно WinBootstrapper) содержат внутри себя сжатые cab'ы (в этом можно убедиться, открыв их 7-Zip'ом), т.е. разжав некоторые потоки в них можно добиться затем лучшей их компрессии. Я сделал это с помощью Setup Squeezer'а, проблем не возникло, в сумме сэкономится где-то порядка 15 мегабайт (точно не считал).
.cab
Б
ольшую часть занимают собственно .cab'ы. Имеем: 1) они сжаты MSZip'ом, 2) внутри них содержатся файлы неопределённого имени и расширения.
Очевидно, что их надо перепаковывать. В общем случае, я вижу три возможных пути: 1) распаковать их, дав возможность конечному архиватору сжать их используя фильтры (.exe, .txt, ...), а формировать их уже у конечного пользователя, перед запуском установщика; 2) перепаковать их без сжатия (-m NONE) и запаковать в конечном дистрибутиве; 3) паковать их в LZX:21 и не сжимать в конечном SFX-архиве. Размер дистрибутива большой, и файлы расширений не имеют - первый способ отпадает. Третий я откинул тоже - уж больно LZMA лучше LZX. Оставил второй.
Однако не всё так просто: тупо распаковав все .cab и запаковав в -m NONE снова, я столкнулся с тем, что инсталлятор даже не попытался ничего сделать. Сначала я подумал на цифровую подпись, как это было с 2007 офисом, но нет - оказалось, был важен порядок файлов в .cab'е (нетрудно догадаться, что прошло прилично времени, пока я до этого "дошёл"). Оригинально файлы располагались _1_..., _2_..., _3_... и т.д., а при простой запаковке cabarc упорядочивал их по алфавиту, т.е. _1_..., _10_..., _100_... и т.д. В этом случае я просто сделал .bat, который составлял списки файлов для каждого из кабов уже так, как надо. После этого всё заработало
SFX
Конечный набор файлов я решил сжать FreeArc'ом, так как он в режиме -m9x распаковывал быстрее 7-Zip'а, а сжимал лучше на 5 мегабайт. Да и возни с инсталлятором у него, имхо, меньше - я уже делал дистрибы на его основе, поэтому все нужные программки уже написал. Для тех, кто хочет что-то сделать с дистрибутивом сам, но не знает, как: 1) можно взять его из %temp%\installer?????? во время установки; 2) можно
скачать FreeArc и распаковать самостоятельно; 2а) если лень качать весь FreeArc, можно скачать только
UnArc.