Как установить несколько «сайтов» в одной системе с помощью Inno Setup, И удалить только конкретный? - PullRequest
1 голос
/ 21 июля 2009

Я развертываю пакет, который устанавливает экземпляр SQL Server 2008 и виртуальный каталог IIS. Имеет смысл, что пользователь может захотеть установить несколько экземпляров этой программы в одной системе.

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

Например, скажем, пользователь указал имена экземпляров «Site1, Site2, Site3» и затем удалил их. Сайты1 и Сайт2, вероятно, станут осиротевшими, а Сайт3 будет правильно удален.

Есть ли способ увеличить это? Например, могу ли я спросить пользователя, какой сайт нужно удалить во время удаления, или мне придется сделать эту систему двухэтапной?

1 Ответ

1 голос
/ 21 июля 2009

Существует два основных способа установки вашего пакета:

  • с другим именем и AppId для каждой установки.
  • со всеми установками с одинаковым именем и AppId.

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

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

На самом деле, для всех, кроме первой и последней деинсталляции, работа будет выполняться исключительно этим инструментом.

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

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