Запустите другой установщик в установке Inno Setup - PullRequest
7 голосов
/ 27 июня 2009

Моя компания разрабатывает приложение, которое зависит от другого нашего приложения. Это второе приложение уже имеет установщик Inno Setup.

Так что я думаю, что я хотел бы связать установщик второго приложения с установщиком Inno Setup для первого приложения. Но я не уверен, как это сделать правильно. Кто-нибудь знает «правильный путь» сделать это?

Я нашел это: База знаний Inno Setup - HOWTO: Установить MSI-файлы . Я предполагаю, что техника может быть использована для вложенного установщика Inno Setup. Но у меня есть пара вопросов о мелких деталях:

  1. Как я могу сделать так, чтобы первое приложение удалялось, второе тоже удалялось?
  2. Это разумная вещь (автоматическое удаление второго приложения), или я должен оставить это пользователю, чтобы сделать это вручную?
  3. Если пользователь пытается удалить второе приложение во время удаления первого, следует ли мне как-то обнаружить это и выдать предупреждение? Как я мог это сделать?

1 Ответ

3 голосов
/ 27 июня 2009

Для уровня функциональности деинсталлятора, о котором вы говорите, я предлагаю вам ознакомиться со скриптами паскалей в Inno Setup (если вы еще этого не сделали). Он предлагает невероятную настройку, но имеет услугу сделать ваши проекты намного более сложными.

Сначала ответьте на третий вопрос:

Да, вы должны это сделать. Чтобы сделать это правильно, вам нужно добавить эту функцию в деинсталлятор второго приложения (то есть того, от которого зависит ваше приложение). См. Uninstall event functions в справке Inno Setup. Вам нужно проверить в этом деинсталляторе, установлено ли ваше приложение (например, проверив, существует ли HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\SecondAppName), и в этом случае показать дополнительное предупреждение.

Что касается вашего второго вопроса:

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

И, наконец, ваш первый вопрос:

Вам необходимо определить имя (полный путь) exe для удаления из другого приложения . Вы можете получить его из раздела реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\SecondAppName\UninstallString. Чтобы выполнить его из сценария в разделе [CODE], смотрите Exec в справке Inno Setup.

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