Создание патча для обновления приложения .NET - PullRequest
7 голосов
/ 10 ноября 2010

Я хотел бы создать патч для моего приложения .NET. Требования:

  • Найдите каталог установки
  • Перезаписать старые файлы новыми
  • Перезапустите службу Windows

Я хочу отправить обновление пользователю, чтобы он просто запустил его и обновил приложение. Мой оригинальный установщик создан с использованием Visual Studio Deployment Project.

Я провел много исследований, и нашел это:

https://stackoverflow.com/questions/3767/what-is-the-best-choice-for-building-windows-installers

Как обновить установленное приложение Windows (создание патчей)

http://wyday.com/forum/viewtopic.php?f=1&t=245&p=793&hilit=offline+install#p793

http://www.advancedinstaller.com/user-guide/tutorial-patch.html

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

WyBuild показался хорошим решением, однако они не поддерживают автономную установку и требуют размещения файлов обновлений на сервере.

Я попытался создать патч с помощью Advanced Installer, но он просто генерирует кучу ошибок сборки, которые я не смог исправить.

Существуют учебные пособия по изменению файлов MSI с использованием Orca или WIX, но это выглядит намного сложнее, чем должно быть.

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

1 Ответ

4 голосов
/ 10 ноября 2010

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

...