Проект установки - разрешить множественную установку одной и той же службы Windows - PullRequest
2 голосов
/ 04 июля 2011

У меня есть вопрос, касающийся установки проектов в .Net (язык c #, Framework 4.0):

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

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

Любая подсказка или предложение приветствуются.Спасибо заранее.

1 Ответ

3 голосов
/ 04 июля 2011

Это можно сделать с помощью установки нескольких экземпляров.Общий подход таков:

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

Преобразование должно измениться как минимум PackageCode, ProductCode и UpgradeCode.

Это не поддерживается проектами установки Visual Studio.Так что либо вы делаете это вручную, либо используете коммерческий инструмент разработки настроек, который поддерживает несколько экземпляров.

...