Ravikumarkkp Ответов: 3

Как сделать автоматическое обновление в уже установленном и запущенном приложении WPF


Я разработал приложение wpf и создал exe-файл и установил его. теперь я хочу обновить это установленное приложение во время работы.

На странице окна wpf я сохранил одну кнопку, когда я нажимаю эту кнопку, она должна обновить последние изменения в установленном местоположении.

я судил и сделал ниже ссылку:
"https://www.codeproject.com/Articles/134787/C-NET-Autoupdate-Application-Launcher"


Что я уже пробовал:

я создаю виртуальный каталог в IIS и новый exe-файл, хранящийся в этой виртуальной папке.
и в приложении wpf загрузите этот новый файл в iis. и проверка текущей версии и обновленного номера версии,пока это приложение не будет работать нормально.

теперь я пытаюсь установить(обновить) скачанный новый exe-файл.

exePath=c:\folder\setup.exe
Система.Диагностика.Процесс proc = система.Диагностика.Процесс.Start(exePath)

когда я пытаюсь выше код его показывает ошибку [другая версия этого продукта уже установлена.установка этой версии не может продолжаться.Чтобы настроить удаление существующей версии этого продукта,используйте команду установка и удаление программы на панели управления]

Пожалуйста, помогите мне решить эту проблему как можно скорее.
заранее спасибо.

3 Ответов

Рейтинг:
2

PureNsanity

Удалить пользовательские обновление лаунчера Мумбо-Юмбо и просто использовать ClickOnce. Автор писал об этом еще в 2010 году, когда ClickOnce был довольно свежим, но многие проблемы были исправлены, и теперь все довольно гладко.


Рейтинг:
1

Richard MacCutchan

Если у вас возникли проблемы с кодом из статьи, то вам следует использовать форум статей для своих вопросов. Таким образом, автор статьи может помочь вам.


Рейтинг:
1

Patrice T

Цитата:
Как сделать автоматическое обновление в уже установленном и запущенном приложении WPF

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

Хитрость заключается в том, чтобы иметь второе приложение, которое является средством обновления.
Процедура обновления выглядит примерно так:
App: start
App: ...
App: click Update button
App: check for updates
App: download update.
App: update Updater app
App launch Updater
Updater: close app
Updater: update app
Updater: relaunch app
Updater: close updater
App: ...