2010-07-29 9 views
5

Czy możliwe jest wycofanie ClickOnce?Kliknij raz rollback aplikacji

Jak mogę to zrobić?

Czy ta aplikacja pobiera wszystkie pliki przy aktualizacji?

Jak mogę sprawdzić, które pliki są pobierane w aktualizacji?

Odpowiedz

1

Nie można bezpośrednio przywrócić aplikacji ClickOnce. Możesz nadać starej wersji wyższy numer wersji i ponownie wdrożyć/opublikować aplikację ponownie. Zobacz również How can I rollback clickOnce if I have a minimum required version?

Alternatywnie można zmienić boczny plik manifestu serwera, aby wskazać na starej wersji aplikacji, jak opisano tutaj: How can I roll-back a ClickOnce application?

Wszystkie pliki opisane w pliku manifestu aplikacji pobierane są podczas aktualizacji aplikacji ClickOnce. Plik manifestu aplikacji zawiera informacje o wszystkich plikach w aplikacji ClickOnce. Proponuję przeczytać stronę msdn pod numerem ClickOnce deployment.

1

Wycofywanie
Jeśli nie określono minimalnej wymaganej wersji, użytkownicy mają możliwość wycofywania jeden wersję poprzez Dodaj/Usuń programy okno. Jeśli chcesz wycofać wdrożenie na swoim serwerze, musisz użyć wszystkich starych plików z nowym numerem wersji (tak jak powiedział @steenhulthin).

Co jest pobierane
Tylko pliki, które zostały zmienione, są pobierane. ClickOnce hashe wszystkie pliki i zachowuje te informacje w manifeście aplikacji (ten bez rozszerzenia .application, idź rysunek). Jeśli ogólna wersja ClickOnce jest nowsza na serwerze niż na kliencie, porównuje poszczególne skróty plików, aby sprawdzić, jakie pobrane dane trzeba pobrać.

Jakie pliki są pobierane
Aby zobaczyć jakie pliki są pobierane, użyj Fiddler. Przechwytuje i wyświetla ruch http i jest czysty. Naucz się tego. Użyj tego. Kocham to.

Tylko dodatkowe słowo porady. Jeśli używasz Visual Studio do publikowania, zatrzymaj się. Używanie narzędzia takiego jak Mage wymaga więcej wysiłku, ale pomaga zrozumieć, co tak naprawdę robi ClickOnce. Kiedy się sprowadzi, naprawdę nie ma za wiele. Korzystanie z kreatora publikowania Visual Studio sprawia, że ​​wygląda on jak czarna magia.

0

Rozumiem ClickOnce wyboru wersja algorytmu następująco:

  1. Jeśli wersja zainstalowana na kliencie = wersja wdrożony na serwerze - nic nie rób
  2. Jeśli wersja klienta wersja serwera < - uaktualnienie
  3. Jeśli wersja klienta> wersja serwera:
    1. Jeśli minimalna wartość podana na kliencie> = wersja serwera - wyświetla błąd, ponieważ mamy
    2. Jeśli inimumVersion określony na klienta < wersji serwera - downgrade
    3. Jeśli minimumVersion nie jest określona na kliencie - downgrade