Применить преобразование к двоичной таблице, чтобы изменить пользовательское действие - PullRequest
0 голосов
/ 24 марта 2010

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

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

1 Ответ

0 голосов
/ 24 марта 2010

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

Вместо этого я обычно использовал MSIDB.EXE для извлечения файлов или CAB, затем добавил свои изменения, а затем повторно импортировал файл (ы). Здесь есть подробные инструкции , хотя вам, вероятно, не понадобится больше, чем синтаксис для программы MSIDB.EXE , чтобы сделать это самостоятельно.

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

...