2010-03-24 2 views
0

Недавно у нас появилась MSI с плохой ошибкой в ​​пользовательском действии. Я смог создать преобразование для бинарной таблицы MSI, и это действительно сработало, но я думаю, что мне повезло. Я изменил пользовательское действие (Installscript), скомпилировал скрипт и затем экспортировал двоичную таблицу. Я импортировал двоичную таблицу в копию базы MSI, а затем создал MST из базовой MSI и копию с новой бинарной таблицей. Я в основном заменил ISSetup.dll, выполнив это.Примените преобразование к бинарной таблице, чтобы изменить настраиваемое действие.

Вопрос в том, был ли мне повезло, чтобы это сработало? Каковы подводные камни этого процесса, о которых я не думаю, и есть ли лучший способ сделать это?

ответ

0

В наши дни, переупаковывая программное обеспечение для корпоративного распространения, я, конечно же, делал исправления, преобразования и обновления версий с помощью описанных вами методов без каких-либо проблем. Тем не менее, я не помню, когда я когда-либо заменял двоичный файл только через двоичную таблицу ...

Вместо этого я обычно использовал MSIDB.EXE для извлечения файлов или CAB, затем добавил мои изменения, импортировал файл (ы). Есть некоторые extensive instructions here, хотя вам, вероятно, не понадобится больше, чем syntax for the MSIDB.EXE program, чтобы сделать это самостоятельно.

Я не могу придумать причину, по которой ваш метод импорта всей бинарной таблицы может вызвать проблемы, если только вы заменяете существующий файл. Но для справок в будущем вы можете найти выше описанную технику быстрее и легче.

Смежные вопросы