Проблема модуля слияния из декомпиляции Dark.exe - PullRequest
1 голос
/ 15 января 2010

Я довольно долго работал над переносом всех установок для моей работы с Wise для установщика Windows на WiX. Начал с очевидного шага (учитывая количество установок для переноса и их размер) и декомпилировал их с помощью Dark.exe (инструментарий WiX). Я создавал программу общего назначения, чтобы очистить вывод от темного в правильный проект, который мы можем затем скомпилировать в MSI. Проблема, которая пинала мой @ $$ в течение некоторого времени, - это модули слияния. У нас есть максимум 20 Microsoft MSM в различных установках, и dark не распознает их как таковые, поэтому вместо этого перечисляет все содержимое. У меня есть все на месте, поэтому я могу стереть этот мусорный код и заменить его соответствующим тегом Merge. Отсюда и проблема. Модули слияния не имеют никакой рифмы или причины, по которой они размещены, никакой логики, которую я могу найти, чтобы искать основную папку. Единственное реальное общее основание - это то, что все каталоги, компоненты, файлы и реестр имеют идентификатор, заканчивающийся GUID. Любые идеи очень приветствуются. У меня уже есть фреймворк для поиска в нашем списке модулей слияния и получения списка файлов, компонентов и каталогов. Я просто не знаю, что искать, поэтому он предназначен не только для одного или двух модулей, но теоретически для всех модулей MICROSOFT (я знаю, что другие компании могут использовать другие форматы, но это немой вопрос). Еще раз спасибо!

1 Ответ

1 голос
/ 15 января 2010

Похоже, что вы проделали большую работу по реинжинирингу существующих MSI и очистке результата автоматически или полуавтоматически.

Не было бы более эффективным и менее подверженным ошибкам просто создавать исходные файлы wix с нуля? Возможно, вы сможете использовать инструмент heat.exe , чтобы уменьшить необходимые усилия.

...