У меня есть несколько модулей слияния (файлы MSM) от стороннего производителя. К сожалению, я думаю, что дроны, которые сделали MSM, просто щелкнули через InstallShield и не создали красивый компактный MSM. Я открыл MSM и удалил некоторые настраиваемые действия InstallShield, которые были абсолютно не нужны - они открывали окно консоли и сильно раздували мою установку.
Эти двоичные файлы настраиваемых действий InstallShield хранились в папке Двоичная таблица. Я удалил эти записи с помощью Orca и сохранил MSM. В результате мой скомпилированный файл MSI значительно уменьшился. (Я использую WiX для компиляции).
К сожалению, файлы MSM не уменьшились в размере после удаления строк двоичной таблицы в Orca. Я попытался использовать «Сохранить как» и сохранить в файл MSM, но результат составил всего 36 КБ - это также устранило фактические файлы, необходимые для MSM! Изучение файлов MSM до и после в 7-Zip (для просмотра внутреннего структурированного хранилища OLE, которое использует MSI) показывает, что нарушающие потоки данных действительно были удалены, но файл в целом не сжался.
Я подозреваю, что мне нужно как-то сжать файл MSM, чтобы освободить место, необходимое для удаленных пользовательских действий. Как мне это сделать?
(Почему я спрашиваю? Хотелось бы, чтобы об этом позаботились, прежде чем вносить что-либо в распределенную систему управления версиями.)