Как сжать модуль слияния? - PullRequest
2 голосов
/ 28 ноября 2011

У меня есть несколько модулей слияния (файлы MSM) от третьего лица.К сожалению, я думаю, что дроны, которые сделали МСМ, просто нажали на InstallShield и не сделали хорошего, компактного МСМ.Я открыл MSM и удалил некоторые пользовательские действия InstallShield, которые совершенно не нужны - они открыли окно консоли и сильно раздуты мои настройки.

Эти двоичные файлы пользовательских действий InstallShield были сохранены в Binary Таблица.Я удалил эти записи, используя Orca и сохранил MSM.В результате мой скомпилированный файл MSI значительно уменьшился.(Я использую WiX для компиляции).

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

Я подозреваю, что мне нужно каким-то образом сжать файл MSM, чтобы освободить пространство, необходимое для удаленных пользовательских действий.Как мне это сделать?

(Почему я спрашиваю? Хотел бы позаботиться об этом, прежде чем что-либо делать в распределенной системе контроля версий.)

1 Ответ

1 голос
/ 28 ноября 2011

Редактировать файлы модуля слияния не так просто, тем более что они содержат CAB-архив со своими файлами.Я не думаю, что Orca достаточно.

Самый простой и безопасный способ - использовать инструмент создания настроек, чтобы импортировать их, изменять их настройки и контент, а затем генерировать новые файлы MSM.

Относительнопользовательские действия, обратите внимание, что инструменты настройки разработки (включая InstallShield) редко добавляют пользовательские действия автоматически.Поэтому я уверен, что эти пользовательские действия были добавлены с определенной целью.

Убедитесь, что они вам действительно не нужны, прежде чем удалять их информацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...