Возможность преобразования из проекта InstallScript в базовый MSI - PullRequest
3 голосов
/ 04 марта 2011

У меня есть чистый проект InstallScript, который оказывается проблематичным из-за этой проблемы .Это было временно решено добавлением некоторого InstallScript, который стирает определенный каталог перед установкой новых файлов, что не является идеальным.Однако эта серия сообщений на форуме указывает на то, что проект InstallScript MSI или Basic MSI значительно упростит удаление динамически связанных файлов при обновлении.

При поиске на форумах Flexara я нахожу многопостов, упирающихся в тип проекта InstallScript MSI, так что я смотрю на Basic MSI.Очевидно, у Flexara есть продукт под названием Repackager, который может конвертировать проекты InstallScript в Basic MSI .Однако он поставляется только с IS Premier или Admin Studio, что означает, что нам придется потратить немного денег.Прежде чем идти по этому пути, мне нужно некоторое указание на то, что это может сработать.

  • Может ли какая-либо функциональность быть потеряна при преобразовании InstallScript в Basic MSI с помощью инструмента Repackager? В наших скриптах есть немало логики, включая такие, как this , которые передают информацию через несколько этапов установки.Мы также используем несколько InstallShield NT Service Objects, устаревшие объекты, которые, как мне кажется, мне пришлось устанавливать отдельно от IS2010.Существуют ли какие-либо аспекты проектов InstallScript, о которых известно, что Repackager не может их обработать?
  • Если Repackager не собирается магически преобразовывать проект, есть ли где-нибудь руководство, которое я мог бы выполнить, чтобы выполнить преобразованиевручную? Я обнаружил, что документация и форумы по InstallShield довольно сильно отсутствуют.
  • Есть ли какой-нибудь способ, которым итоговый установочный пакет Basic MSI сможет выполнить установку обновлений в системах, где старый(чистый InstallScript) версия установлена? Это действительно будет бонусом.На данный момент я ожидаю, что мы просто будем вынуждены выполнить полное удаление / переустановку.

Ответы [ 2 ]

3 голосов
/ 04 марта 2011

Я бы не рекомендовал решение для переупаковки по тем же причинам, о которых упоминал Кристофер.

Хорошим мостом между вашим проектом InstallScript и новым проектом Basic MSI было бы создание нового проекта Basic MSI, который использует настраиваемые действия InstallScript. При таком подходе ядро ​​MSI будет управлять непатентованными аспектами вашей установки, а устаревший код InstallScript можно повторно использовать для управления собственными аспектами вашей установки.

Это дает вам лучшее из обоих миров - надежный пакет Basic MSI, с которым вы полностью управляете (так как он не был автоматически сгенерирован перепаковщиком) ПЛЮС экономия времени, поскольку вам не нужно переопределять функции InstallScript из царапина.

3 голосов
/ 04 марта 2011

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

Если ваша старая деинсталляция ведет себя хорошо, выМожно написать пользовательское действие, которое удаляет его.Это проще всего, если ваш новый продукт переходит в новый каталог установки, поскольку вы устраняете потенциальные проблемы с стоимостью файлов.Если это невозможно и / или ваша старая установка не имеет надлежащим образом удаляемой деинсталляции, тогда это станет более сложным.

Это также может быть более сложным, если у вас есть данные конфигурации, которые вы хотите сохранить из старойконтекст установки в новый контекст.

Я делал многие из них на протяжении многих лет, и хотя это может быть очень сложным, это также может быть полезным, так как вы можете убрать много грязи по пути.

...