2015-01-19 1 views
7

Для проекта, над которым я сейчас работаю, мне нужно создать приложение для настройки для существующего настольного приложения. Приложение настройки будет загружено с веб-сайта и загрузит необходимые файлы в нужные места. Когда приложение запускается, оно будет искать новые версии этих файлов, загружать их, если они есть, а затем запускать приложение.Настройка непрерывного развертывания рабочего стола WPF

Я использую Visual Studio Online с TFVC, связанным с Azure. У меня установлено тестовое приложение, поэтому при запуске сборки Release Management находит каталог сборки и перемещает файлы в хранилище Azure Blob, но добавляет GUID к передаваемым именам файлов. Так что у меня в контейнере для хранения является:

{Some GUID}/2390/Test.exe 
{Some GUID}/2389/Test.exe 
{Some GUID}/2387/Test.exe 
... 

То, что я хочу в моем контейнере последней версия TEST.exe, так что я могу подключить к контейнеру, и определить, хочу ли я загрузить или нет.

Я собрал установщик NullSoft, который проверяет веб-сайт и загружает файлы. Я также написал NullSoft «Launcher», который будет сравнивать локальные версии файлов с версиями на веб-сайте (используя файл версии xml на веб-сайте) и загружать, если новый, а затем запустить приложение. Мне нужно выяснить, как получить новые файлы на веб-сайт после сборки, причем автоматизация является одной из целей.

Я стажер и новичок в развертывании в целом, и я даже не знаю, правильно ли я это сделаю.

Вопросы:

  • делает то, что я делаю, имеет смысл для того, что я пытаюсь сделать?
  • Мы пытаемся эмулировать функциональность ClickOnce, но не можем использовать ClickOnce из-за того, что приложение динамически загружает несколько DLL. Есть ли способ настроить ClickOnce для включения библиотек DLL, не связанных с ними?
  • Есть ли лучший способ сделать то, что я описываю?

Я ценю любые советы, ссылки на ссылки или примеры из реального мира.

+0

Большой вопрос! –

ответ

1

Вы упомянули ClickOnce, который вы исследовали, но не можете использовать. Вы уже пробовали вариант: Белка? С помощью Squirrel вы можете указать, какие файлы должны быть частью установки, позволяя явно указывать, какие файлы включать, даже если вы загружаете их динамически.

Ссылка: https://github.com/Squirrel/Squirrel.Windows

Белка полную основу для создания приложений автоматического обновления и может работать с Azure Blob Storage хостинг (а также CDN, если вам нужно расширять)