Manualne aktualizowanie aplikacji WPF

0

witam
Napisałem pewną aplikację desktopową w WPF i chciałem dodać do niej pewną funkcjonalność. Mianowicie manualne aktualizowanie aplikacji. Działać to ma na takiej zasadzie:

  • osoba korzystająca z aplikacji naciska przycisk aktualizuj aplikację
  • następuje sprawdzenie czy posiada najnowszą wersję aplikacji
  • jeśli tak wyświetla komunikat, że użytkownik posiada najnowszą wersję aplikacji
  • jeśli nie wyświetla komunikat, że użytkownik nie posiada najnowszej wersji aplikacji i pojawia się button 'pobierz nowszą wersję aplikacji i zainstaluj'
  • po pobraniu najnowszej wersji 'aktualizuje' aplikację do nowszej wersji.

I właśnie nie mam pojęcia jak powinienem się do tego zabrać.

Czy moglibyście mi w tym pomóc ?

0
john_klamka napisał(a):

Poczytaj sobie o ClickOnce. Nie jest to idealne rozwiązanie, ale do prostych apek wystarczające moim zdaniem.

dzięki za odpowiedź, ale clickOnce aktualizuje chyba aplikację przy każdym uruchomieniu przez użytkownika, a mi chodzi o to, żeby po naciśnięciu buttona w oknie aplikacji nastąpiło wykonanie tego procesu.

1

Pokrótce:

  • aplikacja patrzy do repozytorium czy istnieje nowa wersja;
  • jeżeli nie istnieje to wiadomo;
  • jeżeli istnieje nowa wersja i użytkownik potwierdzi chęć aktualizacji to odpalany jest osobny proces, który zaciągnie aktualne pliki i podmieni bieżące.

Dlaczego musi być osobny proces? Dlatego, że pliki, które chcesz zaktualizować najpewniej będą używane przez działająca aplikację. Musisz napisać osobny program, który zostanie odpalony jako aktualizator. Jednocześnie należy pamiętać o zamknięciu programu głównego żeby zwolnić wszystkie pliki, które przecież chcesz uaktualnić. Po aktualizacji apka aktualizująca może naturalnie odpalić już uaktualniony program. Wszystko da się zrobić i to nawet tak żeby wyglądało jakby to był jeden program (zunifikowane GUI etc...) :)

Zainteresuj się: https://msdn.microsoft.com/pl-pl/library/system.diagnostics.process(v=vs.110).aspx

1

Możesz jeszcze obczaić ten projekt: https://github.com/Squirrel/Squirrel.Windows

Będziesz do tego potrzebował jeszcze własnego repozytorium NuGet:
Więc możesz obczaić to: http://www.myget.org/

Powodzenia.

0

dzięki za odpowiedzi :)
wykorzystałem do tego celu ClickOnce i wszystko działa ok jeśli lokalnie przechowuje pliki. Do przechowywania plików chciałem wykorzystać mojego dropboxa i ustawiłem w zakładce 'Publish':

  • Publishing folder location - moją lokalną ścieżkę do dropboxa czyli D:\dropbox\Dropbox\FolderAplikacji\
  • Instalation folder url - adres katalogu na stronie dropboxa, na której są pliki czyli https://www.dropbox.com/sh/<jakiśString>/<jakiśString> .

Później opublikowałem tą aplikację i wszystko znajduje się tam gdzie powinno, ale gdy chcę zainstalować tą aplikację wyskakuje mi takie okno:

appImgErr.PNG

Czy w tym też byście mogli mi pomóc ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1