Поддержка параллельной установки

Недавно мы столкнулись с проблемой поддержки параллельной установки.

У нас есть клиент, который установил версию 1.0.0.0
Теперь мы начали публикацию версии 2.0.0.0.

Этот клиент хочет установить версию 2.0.0.0 рядом с версией 1.0.0.0 на том же сервере (бок о бок), как Microsoft и другие компании делают это с их продуктами.

Однако наша установка не проста. включает службы, dll/COM-регистрацию, запись в реестр, создание виртуальных каталогов и пула приложений, GUID и т. д.

Проблема в том, что я даже не знаю, с чего начать и как сделать это наиболее эффективно.

Любая помощь будет оценена Спасибо

1 ответ

Решение

С точки зрения установщика, вам просто нужно разорвать связь. Либо это означает изменение ProductCode а также UpgradeCodeили изменяя ProductCode и удаление элементов Major Upgrade, которые могут привести к удалению более ранней версии. Вам также следует обновить идентификаторы компонентов в соответствии с правилами компонентов.

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

  • выделите общие части в общие файлы и будьте осторожны с обратной совместимостью
  • измените все свои COM-идентификаторы COM, идентификаторы служб и другие подобные общесистемные элементы, чтобы ни одна из версий не имела перекрестных ссылок
  • использовать функциональные возможности ОС, такие как Reg-Free COM, чтобы по возможности избежать общесистемной регистрации
  • использовать технологию виртуализации приложений, такую ​​как App-V, чтобы скрыть ваши приложения друг от друга, если это необходимо для ваших нужд, а ваши клиенты это допускают

В конце концов, это, вероятно, будет большой работой в вашем приложении, поэтому вам придется решить, стоит ли поддерживать этот сценарий.

Другие вопросы по тегам