2012-01-24 1 views
1

У меня есть программа на киоске со связанной службой, которая обновляет программу, периодически проверяя в Интернете новую версию MSI. Если он найдет один, он установит его, программа все еще может работать.C# на окнах, обновляющих программу, пока она еще запущена

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

+0

Недостаточно поддержки менеджера перезапуска (требуется Windows Vista или более поздняя версия), или этот киоск работает, скажем, в Windows XP? Самообновления ... искусно. –

+0

Привет, Майкл - да, он работает на XP –

+0

Привет, Ричард, я столкнулся с такими же проблемами в моем киоске на основе WPF прямо сейчас. Что вы в итоге сделали? –

ответ

2

Я сделал эту историю. Он работает следующим образом:

Пользовательский интерфейс работает как пользователь.

Услуга работает как система. Служба проверяет содержимое и загружает его в каталог temp. Затем он рекламирует MSI с помощью команды/JM. Теперь установщик может быть установлен пользователем, не имеющим привилегий.

Служба отправляет в приложение IPC сообщение о том, что пришло время установить. Приложение запускает установщик, передавая ему флаг, который указывает на перезапуск приложения. Приложение закрывает выпуск заблокированных файлов.

В конце установщика флаг заставляет установщик перезапускать приложение.

Также взгляните на wuw4 library. Это помогает в создании большого количества этого решения.

+0

Не могли бы вы отправить более четкое объяснение библиотеки wuw4? текст в этой ссылке очень неясен ... –

2

Не стал бы лучше использовать ClickOnce?

http://msdn.microsoft.com/en-us/library/t71a733d.aspx

+0

Первоначально я испробовал oneclick, но имел проблемы с разрешениями, службе также необходимо настроить параметры принтера, а блокировка безопасности одним щелчком делала это очень сложно. –

+0

Конфигурация киоска и принтера звучит как отдельная проблема ... как часто вам нужно менять конфигурацию печати? – Adrian

+0

Около 5 раз в час - это своеобразный случай. –

 Смежные вопросы

  • Нет связанных вопросов^_^