To jest pytanie filozoficzne.
Biorąc pod uwagę hipotetyczną aplikację komputerową i chęć zapewnienia automatycznych aktualizacji (zamiast zmuszania ludzi do odwiedzania strony internetowej, sprawdzania aktualizacji, pobierania aktualizacji, instalowania), który z nich jest bardziej „najlepszym rozwiązaniem”?
Podobnie jak iTunes , sprawdza, czy jest nowa wersja i monituje użytkownika o pobranie nowej wersji. Jeśli tak, pobiera pełny plik wykonywalny instalacji (w tym przypadku plik Instalatora Windows (.msi)), który instaluje pełną wersję (nie tylko aktualizację do poprzedniej wersji - zbyt wiele, aby zarządzać, jeśli istnieje wiele wersji) . Powiedzmy, że jest to wersja 10.1.1 - niezależnie od tego, czy instalujesz nową wersję, czy aktualizujesz, używasz tego samego pliku. Po pobraniu instruuje użytkownika, aby zamknął aplikację i sam uruchomił plik instalacyjny.
Podobnie jak w przypadku drugiej, sprawdza, czy jest nowa wersja i monituje użytkownika o jej pobranie, ale zamiast po prostu pobrać plik wykonywalny i zachęcić go do uruchomienia, w rzeczywistości uruchamia go dla nich - zamykając otwarty program, uzyskując niezbędne zabezpieczenia do instalowania plików.
Problemy z nr 2: wiele problemów związanych z zamykaniem programu, ponieważ program może otwierać inne programy ( Outlook i Excel ) lub co, jeśli użytkownik był w trakcie czegoś. Również w kwestii bezpieczeństwa potrzebujesz lokalnego administratora, aby zainstalować, a jeśli nie masz? W późniejszych wersjach systemu Windows nie można po prostu zastąpić zabezpieczeń danej osoby.
Problemy z numerem 1: niektóre osoby uważają, że będzie to zbyt trudne, zbyt duży wysiłek dla użytkownika końcowego.
Zdecydowanie wolałbym pójść z numerem 1, ponieważ pozwoli to zaoszczędzić 80-120 godzin na moim projekcie oraz jest łatwiejsze do wdrożenia i utrzymania. Mamy jednak ludzi, którzy czują się silnie ze wszystkich stron.
Jaka jest najlepsza praktyka w tego typu sprawach?
źródło
Odpowiedzi:
Osobiście wolę podejście Google Chrome. Katalog podstawowy z programem uruchamiającym i podkatalogami dla każdej zainstalowanej wersji oprogramowania. Program uruchamiający po prostu wyszukuje najwyższy numer wersji i używa go i w razie potrzeby usuwa starsze wersje. Zadanie aktualizacji jest wykonywane tak często, aby pobierać i tworzyć nowe katalogi. Po zainstalowaniu nowych wersji uruchomiona aplikacja żąda ponownego uruchomienia w celu użycia nowej wersji.
źródło
Nie powinieneś tworzyć niepotrzebnych wpisów startowych, aby sprawdzić dostępność aktualizacji, takich jak Adobe Flash Player (trudno je wszystkie wyśledzić, a ja nie mogę znaleźć sposobu, aby wyłączyć sprawdzanie ...) lub iTunes. Drażni użytkownika (w każdym razie maniaków). Lepszym rozwiązaniem byłoby sprawdzenie dostępności aktualizacji podczas uruchamiania aplikacji, tak jak robi to Firefox .
Prosty dyskretny „Zainstalować aktualizacje?” okno nie drażni użytkowników. Niech aktualizuje się w tle, gdy użytkownik wykonuje inne czynności, a następnie automatycznie uruchamia aplikację.
Pamiętaj tylko, aby podać opcję:
Lub coś podobnego.
Jeśli jest to warte wysiłku, powiedziałbym: idź. To twoja decyzja.
źródło
Myślę, że chcesz konfiguracji „ClickOnce”.
http://msdn.microsoft.com/en-us/library/142dbbz4(v=vs.90).aspx
ClickOnce to technologia wdrażania, która umożliwia tworzenie samodzielnie aktualizujących się aplikacji opartych na systemie Windows, które można instalować i uruchamiać przy minimalnej interakcji użytkownika. Wdrożenie ClickOnce rozwiązuje trzy główne problemy we wdrożeniu:
Trudności w aktualizacji aplikacji. Dzięki wdrożeniu Instalatora Microsoft Windows za każdym razem, gdy aplikacja jest aktualizowana, użytkownik musi ponownie zainstalować całą aplikację; dzięki wdrożeniu ClickOnce możesz automatycznie dostarczać aktualizacje. Pobierane są tylko te części aplikacji, które uległy zmianie, a następnie pełna, zaktualizowana aplikacja jest ponownie instalowana z nowego folderu obok siebie.
Wpływ na komputer użytkownika. Podczas wdrażania Instalatora Windows aplikacje często polegają na współużytkowanych składnikach, co może powodować konflikty wersji; Dzięki wdrożeniu ClickOnce każda aplikacja jest samodzielna i nie może zakłócać działania innych aplikacji.
Uprawnienia bezpieczeństwa. Wdrożenie Instalatora Windows wymaga uprawnień administracyjnych i zezwala na ograniczoną instalację użytkownika; Wdrożenie ClickOnce umożliwia użytkownikom niebędącym administratorami instalowanie i przyznaje tylko te uprawnienia Code Access Security niezbędne dla aplikacji.
źródło
Osobiście doceniłem aplikacje, które robią coś podobnego do frameworku Sparkle . Wydaje mi się, że jest to tylko Mac, ale zasadniczo spełnia następujące warunki (z góry mojej głowy - zakładam, że zachowanie można dostosować).
Biorąc pod uwagę, że mówisz o .msi, ten konkretny framework nie ma tak naprawdę zastosowania, ale w tym przypadku wolałbym zastosować jakieś istniejące rozwiązanie niż wynaleźć koło.
źródło
Powiedziałbym, że naprawdę musisz znać swojego użytkownika. Jeśli są bystrzy i lubią duże zainteresowanie utrzymywaniem aktualności, # 1 zadziała.
Nigdy nie lekceważ lenistwa użytkownika, ponieważ gdy jego program przestanie działać, ponieważ nie jest już obsługiwany, później zalane zostaną wezwania pomocy technicznej.
Czas przyjdzie albo z rozwoju (# 2), albo ze wsparcia (# 1).
źródło
A co z tym?
Nie musisz przeszkadzać użytkownikowi, nie musisz niczego zamykać ...
źródło
Dlaczego nie coś pośrodku?
Monituj o pobranie (lub zaznacz opcję „pobierz automatycznie”), po zakończeniu monitu o zainstalowanie pobranej aktualizacji (uruchom .msi). W ten sposób negujesz minus 2 (zamykanie w środku pracy użytkownika), a jednocześnie utrzymujesz komfort kosztem 1 dodatkowego kliknięcia.
Okno dialogowe „ Zamknij i zainstaluj aktualizację? ” Powinno być łatwo dostępne (ale nie denerwujące), gdy użytkownik najpierw odmawia. Dzięki opcji „Uruchom <nazwa programu>?” pole wyboru na końcu .msi będzie prawie jak nr 2 i nie będzie już więcej pracy
@ bezpieczeństwo
Programy we współczesnym systemie Windows mogą żądać uprawnień do wykonywania działań wymagających uprawnień administratora (użytkownik wyświetla monit, gdzie wpisuje hasło administratora, a następnie wybiera „tak / nie”, czy udzielić zezwolenia)
źródło
Mam 124 lombardów, którzy korzystają z mojej aplikacji komputerowej Pawnshop Management. Ilekroć mam nową aktualizację, wysyłam do nich wiadomość e-mail z informacją o aktualizacji i jej szczegółach. Następnie mają opcję FTP, logując się na mojej stronie. Mają także opcję wycofania aktualizacji. Moja strona internetowa śledzi również każdą zainstalowaną wersję lombardu.
źródło