W tym dokumencie opisano sposób użycia narzędzia InstallAware do publikowania aktualizacji oprogramowania w Internecie. Cykl życia oprogramowania ewoluował do punktu, w którym nadal oczekuje się, że aktualizacje będą dostarczane po pierwotnym wydaniu produktu do produkcji. Aby sprostać temu wymaganiu, programiści często mają za zadanie budowanie klientów aktualizacji sieci Web od zera. Te domowe serwery aktualizacji internetowych zużywają znaczne zasoby programistyczne do budowania i utrzymywania w czasie. InstallAware zapewnia gotową aktualizację internetową, aby sprostać temu wymaganiu, bez żadnego wysiłku i kosztów; przy zachowaniu pełnej personalizacji i rozszerzalności w dobrej tradycji InstallAware.
Jak opublikować stronę Asp.net w Internecie
W przeciwieństwie do innych mechanizmów aktualizacji internetowej, InstallAware nie instaluje usługi aktualizacji, która stale zużywa zasoby systemowe i pamięć oraz zwiększa powierzchnię ataku na komputerze klienta. InstallAware nie wymusza ani brandingu ani nie nakłada innych ograniczeń na wrażenia użytkownika aktualizacji internetowej. Podczas gdy niektóre mechanizmy aktualizacji mogą być spersonalizowane tylko za pomocą szablonów HTML, InstallAware pozwala ci przejąć pełną kontrolę nad całym procesem aktualizacji? w tym nie tylko interfejs użytkownika aktualizacji, ale także przepływ pracy. Aktualizacje mogą być dostarczane selektywnie do podzbioru bazy użytkowników, ustalane zgodnie z dowolnym niestandardowym zestawem parametrów.
Zainstalowana w oprogramowaniu funkcja InstallAware jest dostępna po aktualizacji Windows Update w celu zapewnienia optymalnej wygody i pewności użytkownika. Klient aktualizacji sieci został całkowicie zaimplementowany w InstallAware, a nie w oddzielnym środowisku programistycznym strony trzeciej; co jest świadectwem możliwości skryptów MSIcode i możliwości projektowania okien dialogowych InstallAware. Dzięki temu cały proces aktualizacji jest w pełni konfigurowalny i przejrzysty. Ponieważ dostarczono pełne kody źródłowe dla klienta aktualizacji, bardzo łatwo jest wprowadzić niestandardowe zachowanie lub całkowicie zmodyfikować mechanizm aktualizacji, jeśli to konieczne; mając wbudowane bloki kodu i okna dialogowe aktualizacji, aby uniknąć kosztownej przeprojektowania typowego zachowania aktualizacji internetowej.
Ponadto, ponieważ funkcjonalność aktualizacji internetowej jest wkompilowana w główny plik instalacyjny, oddzielny klient aktualizacji nie musi być instalowany w systemach docelowych, oszczędzając miejsce zarówno na komputerach użytkowników końcowych, jak i wewnątrz pliku instalacyjnego dzięki zmniejszonej ładowności.
Wreszcie, podobnie jak Windows Update, InstallAware planuje harmonogram aktualizacji sieci na datę i godzinę wybraną przez użytkownika końcowego. Klient aktualizacji nigdy nie zużywa pamięci ani innych zasobów systemowych w tle, ponieważ działa tylko w tym wybranym czasie. Proces pobierania i instalacji aktualizacji jest bardzo nieinwazyjny (ponownie, podobnie jak w przypadku Windows Update), z dymkami wiadomości w zasobniku systemowym, które dostarczają przydatnych wskazówek dotyczących dostępności aktualizacji i postępu pobierania / instalacji. Ponownie, wszystkie te nieoczekiwane aspekty klienta aktualizacji można łatwo dostosować, edytując istniejący skrypt MSIcode i okna dialogowe.
Te zalety sprawiają, że sieć InstallAware aktualizuje idealną technologię do przesyłania aktualizacji do systemów użytkowników końcowych po wprowadzeniu produktu do produkcji, zapewniając maksymalne oszczędności, bez utraty możliwości dostosowania procesu aktualizacji do procesów biznesowych i wymagań klientów..
Włączanie klienta Web Update
Aby włączyć aktualizacje internetowe dla produktów, które instalujesz za pomocą InstallAware, wykonaj następujące kroki.
1. Uruchom narzędzie InstallAware IDE za pomocą menu Start systemu Windows i otwórz projekt konfiguracji produktu, który ma zostać włączony dla klienta aktualizacji sieci WWW..
2. Na karcie Projekt w grupie Widoki kliknij przycisk Szczegóły produktu. Wybierz widok projektu Właściwości projektu w nagłówku Informacje o aplikacji.
3. Zaznacz pole wyboru Odbierz aktualizacje aplikacji. InstallAware automatycznie sugeruje początkowy adres URL dla adresu URL monitora. Popraw adres URL tak, aby wskazywał na serwer WWW. Na razie nie przejmuj się plikiem updates.ini.
To jest to! Klient aktualizacji aplikacji InstallAware jest teraz włączony dla twojego produktu.
Rodzaje aktualizacji
Ten dokument nie opisuje samego tworzenia aktualizacji produktu. Nie ma ustalonych ograniczeń co do składu aktualizacji produktu. Aktualizacja może być pełnym plikiem setup.exe, który zawiera pełną nową wersję produktu; może to być łata, która aktualizuje starsze zainstalowane wersje produktów do nowszych wersji; lub dowolny inny niestandardowy plik wykonywalny, który po uruchomieniu aktualizuje twój produkt do pożądanego stanu:
* Pełni instalatorzy produktu: Pełna przebudowa istniejącego projektu instalacji może być serwowana jako aktualizacja dla użytkowników końcowych. Po uruchomieniu Instalator automatycznie odinstaluje starą wersję produktu, traktując ten krok jako wymaganie wstępne instalacji, a następnie przechodzi do ponownej instalacji najnowszej wersji aplikacji. Oczywiście takie podejście ma tę wadę, że obecni użytkownicy końcowi muszą pobrać instalator pełnej wersji, gdy mają już kilka bitów w swoim systemie w ramach istniejącej instalacji produktu.
* Poprawki binarne: Jeśli zamiast tego chcesz podawać przyrostowe poprawki binarne, które zawierają tylko zmienione dane między wersjami produktów, zapoznaj się z białym dokumentem InstallAware :Używanie InstallAware do aplikacji poprawek:, który opisuje, jak tworzyć poprawki dla twoich produktów przy użyciu InstallAware.
* Programy niestandardowe: Alternatywnie aktualizacja może być całkowicie niestandardowym plikiem programu, który wykonuje dowolną sekwencję czynności zgodnie z wymaganiami scenariusza aktualizacji. Nie musi to być konfiguracja ani łatka, nie musi to być zbudowany plik InstallAware; nie trzeba również aktualizować żadnych plików, kluczy rejestru itd. Masz pełną swobodę w uruchamianiu dowolnego wykonywanego programu, o ile tylko wykona on żądaną operację aktualizacji.
Przejdź do następnej sekcji, gdy masz już kilka dostępnych aktualizacji dla swojej aplikacji. W celu ukończenia tego przewodnika można po prostu przebudować istniejący projekt instalacji kilka razy bez zmian, po prostu mieć kilka plików setup.exe, które służą jako fałszywe aktualizacje produktu. Przed każdym przebudowaniem, pamiętaj o zwiększeniu pola Wersja produktu w projekcie, aby Instalator mógł śledzić zmienione numery :nowej wersji:.
Zaktualizuj pakiety
Każda dostępna aktualizacja produktu jest traktowana atomowo w InstallAware i określana jako :Pakiet aktualizacji:. Wykonaj następujące kroki, aby zdefiniować pakiety aktualizacji dla swojego produktu:
1. Na karcie Projekt w grupie Widoki kliknij przycisk Aktualizacje internetowe. Wybierz widok projektu Aktualizuj pakiety pod nagłówkiem Aktualizacje sieci.
2. Kliknij przycisk Nowy, aby rozpocząć tworzenie nowej definicji pakietu aktualizacji. Pojawi się okno dialogowe Update Pack.
W polu Nazwa aktualizacji wprowadź opisową nazwę tej aktualizacji. Twoja aktualizacja będzie wyświetlana użytkownikom końcowym używającym tej nazwy podczas sprawdzania dostępności aktualizacji.
W polu Pełny adres URL pobierania aktualizacji należy wprowadzić adres internetowy (lub sieciowy), z którego można pobrać aktualny instalator aktualizacji w czasie wykonywania. Możesz wybrać strony FTP, HTTP lub HTTPS do przechowywania plików aktualizacji. Pamiętaj, aby przesłać instalator aktualizacji na serwer przy użyciu dokładnej nazwy pliku podanej w tym polu.
W polu Opis aktualizacji wprowadź opis wielu linii dla tej aktualizacji.
Zaznacz pole wyboru Uruchom ponownie po zainstalowaniu aktualizacji, jeśli chcesz zrestartować system po instalacji aktualizacji. Podobnie jak w przypadku Windows Update, użytkownik końcowy zostanie poproszony o ponowne uruchomienie na końcu po zakończeniu instalacji wszystkich wybranych aktualizacji.
Zaznacz pole wyboru Cicho uruchom aktualizację, jeśli chcesz cicho uruchomić instalator aktualizacji. InstallAware przekazuje przełącznik wiersza poleceń a / s do instalatora aktualizacji w celu ułatwienia cichej instalacji, co jest standardowym parametrem wiersza poleceń dla cichych instalacji InstallAware. Jeśli korzystasz z niestandardowego programu, zwróć uwagę, że przełącznik / s może nie działać. Aktualizacje są zazwyczaj instalowane w trybie cichym i zalecane jest zapewnienie optymalnego doświadczenia dla użytkowników końcowych, w którym również w trybie cichym są uruchamiane aktualizacje.
Jeśli istnieją jakieś inne parametry wiersza polecenia, które chcesz przekazać do instalatora aktualizacji, wprowadź je w polu Dodatkowe parametry wiersza polecenia dla pola instalatora uaktualnień.
Kliknij przycisk OK, gdy jesteś zadowolony z ustawień, aby zapisać definicję pakietu aktualizacji.
3. Każdy pakiet aktualizacji może aktualizować jedną lub więcej wersji produktu według własnego uznania. Pakiet aktualizacji nie ma żadnych wbudowanych ograniczeń co do wersji produktu, do których może być zastosowany, dzieje się to na własny sposób.
Na przykład załóżmy, że masz trzy wersje swojego produktu? wersje 1.0, 1.1 i 1.2, z których 1.2 jest najnowszą wersją do wysyłki. Można zaktualizować użytkowników wersji 1.0 do wersji 1.1 za pomocą łaty, a następnie zaktualizować wersję 1.1 użytkowników do wersji 1.2 za pomocą innej poprawki. Ewentualnie możesz zaktualizować zarówno wersję 1.0, jak i wersji 1.1 użytkowników do wersji 1.2, z aktualizacją zbiorczą, która aktualizuje obie wersje, bez konieczności przejścia od 1.0 do 1.1.
Aby przetestować ten pomysł, zdefiniuj jeszcze dwa pakiety aktualizacji dla swojej aplikacji. Wywołaj jedną z pakietów Zalecana aktualizacja dla wersji 1.1 i innych aktualizacji zbiorczych dla wersji 1.0 i wersji 1.1. Wypełnij pola w oknie dialogowym Aktualizuj pakiet odpowiednio dla każdej aktualizacji, aby projektant aktualizacji pakietów wyglądał jak wyżej.
Zakończyłeś opisywanie aktualizacji atomowych dostępnych dla twojego produktu.
Wersje produktu do uaktualnienia
Następnym krokiem jest zdefiniowanie wersji produktu, które są już używane przez klientów i są celem aktualizacji. Wykonaj następujące kroki:
1. Na karcie Projekt w grupie Widoki kliknij przycisk Aktualizacje internetowe. Wybierz widok Projekt wersji pod nagłówkiem Aktualizacje sieci.
2. Kliknij przycisk Dodaj w projektancie Wersje, aby zdefiniować wersję produktu do uaktualnienia. Pojawi się okno dialogowe Nowa wersja aplikacji.
Jeden po drugim, wprowadź numer wersji każdego produktu, który ma zostać zaktualizowany, korzystając z tego okna dialogowego. Kontynuując nasz poprzedni przykład, użyj tego okna dialogowego trzy razy, aby zdefiniować numery wersji 1.0, 1.1 i 1.2 dla twojego produktu.
Należy pamiętać, że numery wersji wprowadzone w tym oknie dialogowym muszą dokładnie odpowiadać numerom wersji użytych przez instalatorów produktu. Aby sprawdzić numer wersji, której używasz w bieżącym projekcie instalacji, kliknij przycisk InstallAware i wybierz Ustawienia projektu, aby wyświetlić okno dialogowe Opcje projektu. Strona projektu tego okna dialogowego wyświetla numer wersji, której używasz, wymienione w polu Wersja produktu:
Na przykład, jeśli wersja produktu, który chcesz zaktualizować, została zdefiniowana jako 3.14.15926 w oknie dialogowym Opcje projektu, użyj dokładnie tego samego numeru w oknie dialogowym Nowa wersja aplikacji. Używanie numerów wersji, które nie są dokładnie dopasowane, przerwie połączenie między Twoimi aktualizacjami a produktami, dla których są przeznaczone.
Powiązanie pakietów aktualizacji z wersjami produktu
Ostatnim krokiem jest połączenie twoich aktualizacji z produktami już wdrożonymi w terenie. Odbywa się to poprzez interfejs :wskaż i kliknij::
1. Będąc wciąż w projektancie Wersje, wybierz wersję produktu pod nagłówkiem Wersje aplikacji. InstallAware wyświetla listę wszystkich wcześniej zdefiniowanych pakietów aktualizacji po prawej stronie wersji produktu, pod nagłówkiem Update Packs Served for Selected Version.
2. Sprawdź każdą aktualizację, którą chcesz wyświetlić dla wybranej wersji produktu. Możesz sprawdzić jedną lub więcej aktualizacji dla każdej wersji, w zależności od aktualizacji, które mają zastosowanie do tej wersji. Jeśli żadna aktualizacja nie jest dostępna dla tej wersji (to znaczy, że wybrana wersja jest najnowsza), po prostu nie zaznaczaj, lub usuń istniejące zaznaczenia, jeśli były wcześniej wybrane.
Aby zmienić kolejność instalowania aktualizacji, użyj przycisków strzałek w górę / w dół znajdujących się po prawej stronie listy pakietów aktualizacji.
3. Powtórz kroki 1-2 powyżej dla każdej zdefiniowanej wersji produktu. Kończy to połączenie wersji produktów z ich odpowiednimi aktualizacjami!
Transmisja z aktualizacjami
InstallAware rejestruje całą pracę wykonaną w widokach projektu Update Packs and Versions w IDE wewnątrz pliku o nazwie updates.ini. Plik ten znajduje się w głównym folderze projektu (jest również automatycznie kopiowany do folderu wyjściowego kompilacji za każdym razem, gdy robisz kompilację). Przejdź do folderu projektu i otwórz ten plik w Notatniku systemu Windows, aby zobaczyć, jak wygląda:
Jak widać, plik updates.ini jest zwykłym plikiem tekstowym w formacie INI opisującym każdą dostępną aktualizację, wiernym danym wizualnie wprowadzonym za pomocą IDE InstallAware. Możesz bezpośrednio edytować ten plik w Notatniku, a ID instalacji InstallAware odzwierciedli twoje zmiany. Możesz również dodać do tego pliku pola niestandardowe, szczególnie w przypadkach, w których musisz mieć dokładniejszą kontrolę nad tym, które aktualizacje są dostarczane do któregoś z użytkowników końcowych. Oczywiście identyfikator InstallAware IDE nie będzie mógł wizualnie reprezentować Twoich niestandardowych danych, ale zachowa je.
Plik updates.ini jest całkowicie niezależny od pozostałej części projektu instalacyjnego; w rzeczywistości nie jest nawet dołączany do pliku setup.exe podczas kompilacji. Każda instalacja z włączonym klientem aktualizacji sieciowej podejmie próbę odczytania tego pliku z adresu URL podanego w polu Adres monitora, znajdującym się w widoku projektu Właściwości projektu IDE. Możesz zmienić nazwę tego pliku na dowolną niestandardową nazwę i rozszerzenie. Dopóki adres URL określony w polu URL monitora dokładnie odpowiada lokalizacji pliku INI, zostanie pobrany i przetworzony.
Zauważ, że pole URL monitora w projektancie Właściwości projektu ustawia w rzeczywistości zmienną kompilatora # UPDATE_SERVER #, którą skrypt MSIcode klienta aktualizacji używa w czasie wykonywania, aby określić, gdzie pobrać plik updates.ini z.
Podobnie jak wszystkie pozostałe zmienne kompilujące, wartość tę można również zmienić na stronie Zmienne kompilacji w oknie dialogowym Opcje projektu.
Po przesłaniu pliku updates.ini do jego właściwej lokalizacji, wraz z instalatorami aktualizacji, do których odnoszą się pakiety aktualizacji, aktualizacje są dostępne! Klienci aktualizacji instalacji będą automatycznie wykrywać, pobierać i instalować aktualizacje w oparciu o harmonogram i preferencje użytkowników końcowych.
Scenariusze wdrażania
Ręczne wywoływanie klienta aktualizacji
Jak wyjaśniono wcześniej, klient aktualizacji nie jest oddzielony od faktycznego pliku setup.exe, który instaluje twój produkt? ale jest to jego część. Instalator określa, czy działa w trybie klienta aktualizacji w oparciu o przełączniki wiersza polecenia przekazane do niego i rozgałęzia się odpowiednio do skryptu klienta aktualizacji dla głównego skryptu instalacyjnego.
Domyślne zachowanie klienta aktualizacji, które można dowolnie dostosować, edytując źródła MSIcode skryptu aktualizacji, jest następujące:
1. Po pomyślnym zainstalowaniu aplikacji, po następnym logowaniu użytkownika, dymek z komunikatem prosi użytkownika końcowego o wybranie harmonogramu sprawdzania aktualizacji dla aplikacji.
2. Użytkownik dwukrotnie kliknie ikonę dymka wiadomości na pasku zadań, aby wyświetlić kreatora planowania aktualizacji. Użytkownik wybiera harmonogram (codziennie / co tydzień), aby sprawdzić aktualizacje, a także domyślne preferencje dotyczące automatycznego pobierania / instalowania aktualizacji (lub monitowania o każdą znalezioną aktualizację). Użytkownik wprowadza również swoje poświadczenia logowania, aby włączyć zaplanowane zadanie Windows, które InstallAware utworzy w systemie dla procesu aktualizacji.
3. InstallAware tworzy zaplanowane zadanie w Windows, aby uruchomić setup.exe w trybie klienta aktualizacji w zaplanowanym czasie pod określonym kontem użytkownika. InstallAware rejestruje również preferencje pobierania / instalacji aktualizacji użytkownika końcowego (automatyczne / ręczne).
4. W zaplanowanym czasie silnik harmonogramu zadań Windows zostanie uruchomiony w trybie klienta aktualizacji. Klient aktualizacji w trybie cichym sprawdza dostępność aktualizacji. Jeśli nie zostaną znalezione żadne aktualizacje, klient aktualizacji cicho zakończy działanie. Jeśli aktualizacje są dostępne, klient aktualizacji pobiera / instaluje aktualizacje automatycznie lub za zgodą użytkownika na podstawie preferencji ustawionych podczas pierwotnego harmonogramu aktualizacji.
5. Klient aktualizacji nie działa w tle jako usługa. Działa tylko w zaplanowanym czasie i pozostaje w pamięci tylko podczas pobierania / instalowania aktualizacji. Oszczędza to zasoby systemowe, a jednocześnie zmniejsza powierzchnię ataku w systemie użytkownika końcowego.
Klient aktualizacji można również ręcznie wywołać, albo z poziomu wiersza poleceń, albo programowo z poziomu aplikacji, po prostu uruchamiając plik setup.exe z poprawnymi parametrami wiersza polecenia. Lokalizację klienta aktualizacji (plik setup.exe) i przełączniki wiersza polecenia, które uruchamiają różne tryby klienta aktualizacji, wyjaśniono poniżej.
Pamiętaj, że Twoja aplikacja musi być już zainstalowana, zanim aktualizacje zostaną zaplanowane lub sprawdzone. Nie uruchamiaj konfiguracji z parametrami wiersza poleceń opisanymi poniżej, zanim aplikacja zostanie zainstalowana.
Określanie lokalizacji klienta aktualizacji
Aby wyświetlić wygląd instalacji dla wszystkich użytkowników, należy użyć następującego klucza rejestru:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionUninstall
W przypadku instalacji systemu Just Me należy skorzystać z następującego klucza rejestru:
HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersionUninstall
W obu przypadkach odczytaj dane dla wartości ciągu UninstallString. Typowa wartość dla tego ciągu to:
:C: Documents and SettingsApplication Data.exe: REMOVE = TRUE MODIFY = FALSE
Przetwórz ten ciąg w swojej aplikacji, aby usunąć parametry wiersza poleceń REMOVE = TRUE MODIFY = FALSE, a także podwójne cudzysłowy otaczające ciąg główny. Ostateczny łańcuch wskazujący lokalizację klienta aktualizacji (jak również program instalacyjny) powinien mieć tę postać:
C: Documents and SettingsApplication Data.exe
Programowe planowanie aktualizacji
Przełącznik wiersza poleceń, aby ustawić setup.exe w trybie planowania aktualizacji to / updatesetup. Ten przełącznik wiersza poleceń można również ponownie użyć po zaplanowaniu aktualizacji, aby zmienić istniejący harmonogram aktualizacji i preferencje.
Zauważ, że proces planowania aktualizacji określa również, co zrobić, gdy zostaną znalezione aktualizacje? użytkownicy końcowi wybierają między automatycznym pobieraniem / instalowaniem dostępnych aktualizacji lub ręcznym zatwierdzaniem pobierania i instalacji każdej znalezionej aktualizacji. Nawet jeśli nie zamierzasz oferować aktualizacji dla użytkowników końcowych zgodnie z wcześniej ustalonym harmonogramem, nadal powinieneś uruchamiać plik setup.exe co najmniej raz za pomocą parametru wiersza polecenia / updatesetup, aby upewnić się, że te ważne preferencje instalacji aktualizacji zostały zainicjowane. Uruchomienie klienta aktualizacji w celu pobrania i zainstalowania aktualizacji bez tej wstępnej inicjalizacji może spowodować błędy w czasie wykonywania z powodu nie zainicjowanych zmiennych skryptu aktualizacji, które są inicjowane podczas etapu planowania aktualizacji.
Możesz wymusić taką wstępną inicjalizację bezpośrednio z głównego skryptu instalacyjnego, zaraz po zakończeniu instalacji produktu, wykonując następujące kroki:
1. W IDE InstallAware przejdź do zakładki MSIcode.
2. W edytorze MSIcode wybierz główny skrypt instalacyjny, który jest stroną bezpośrednio po prawej stronie ekranu powitalnego.
3. W rozwijanym menu nawigacji po lewej stronie, znajdującym się bezpośrednio nad skryptem MSIcode, wybierz kategorię Komentarze.
4. W rozwijanym menu rozwijanym prawego kodu wybierz polecenie DOŁĄCZ: Wstaw, które uruchamia aplikację, a następnie komentarz. Spowoduje to przejście edytora MSIcode do części skryptu uruchamianej po pomyślnej instalacji aplikacji (i nigdy po anulowanej instalacji lub deinstalacji, co nie jest tym, czego chcielibyśmy).
5. Przeciągnij i upuść lub wpisz polecenie Uruchom program MSIcode w podświetlonym regionie skryptu MSIcode i skonfiguruj okno dialogowe Uruchom program, jak na poniższym zrzucie ekranu:
6. Kliknij przycisk OK, który wstawia tę komendę Uruchom program do skryptu MSIcode. Ta nowa komenda Run Program wykorzystuje predefiniowaną zmienną $ EXEFILE $, aby automatycznie rozwiązać lokalizację pliku setup.exe w środowisku wykonawczym i ponownie uruchamia instalację dyskretnie w trybie planowania aktualizacji natychmiast po pomyślnej instalacji aplikacji.
7. Zapisz i przebuduj swój projekt instalacji, aby zastosować zmiany.
Ta procedura wstępnego inicjowania eliminuje potrzebę wybierania przez użytkowników końcowych harmonogramu aktualizacji podczas ich następnego logowania, a także umożliwia bezpośrednie wywoływanie programu setup.exe w celu sprawdzenia aktualizacji w dowolnym momencie od aplikacji.
Programowe sprawdzanie aktualizacji
Przełącznik wiersza poleceń, aby ustawić setup.exe w trybie sprawdzania aktualizacji to / update. Ten przełącznik wiersza poleceń może być użyty do programowego sprawdzania aktualizacji z poziomu aplikacji. Możesz połączyć ten przełącznik z parametrem wiersza poleceń / s, aby automatycznie pobierać i instalować znalezione aktualizacje.
Upewnij się, że setup.exe został uruchomiony co najmniej raz z parametrem / updatesetup przed użyciem tego przełącznika wiersza poleceń, jak opisano powyżej.
Zwracanie kodów wyjścia z klienta aktualizacji
Podczas wywoływania klienta aktualizacji z poziomu własnej aplikacji, a szczególnie w przypadku cichego uruchomienia klienta aktualizacji, może być pożądane uzyskanie informacji o tym, czy klient znalazł aktualizacje, pomyślnie je zainstalował i tak dalej. Możesz to ułatwić, edytując skrypt aktualizacji i używając komendy MSIcode Koniec z kodem wyjścia, zamiast standardowej komendy Zakończ instalację, której wbudowany skrypt aktualizacji używa, aby zakończyć po zakończeniu działania jako klient aktualizacji.
Po prostu wyszukaj stare polecenie i zastąp je nowym poleceniem wraz z niestandardowymi kodami wyjścia:
1. W IDE InstallAware przejdź do zakładki MSIcode.
2. Wybierz skrypt aktualizacji.
3. Na karcie MSIcode w grupie Edytuj kliknij przycisk Znajdź. Wyszukaj tekst Zakończ instalację.
4. Zamień każdą znalezioną instancję polecenia Zakończ instalację za pomocą polecenia Zakończ z kodem wyjścia za pomocą edytora MSIcode.
Dla Twojej wygody poniżej znajdują się fragmenty kodu skopiowane ze standardowego skryptu aktualizacji, z wstawionymi komentarzami, które podkreślają znaczenie każdego punktu końcowego:
jeśli zmienna WIZARD równa się CANCEL
Zakończ instalację
// użytkownik anulował instalację aktualizacji
jeszcze
?
Zakończ instalację
// Harmonogram aktualizacji zakończony pomyślnie
REGION ZAKONU Tryb aktualizacji
jeśli zmienna UPDATE_GET_INI nie równa się SUCCESS
Zakończ instalację
// serwer aktualizacji jest offline
koniec
jeśli zmienna UPDATE_AVAILABLE jest równa
Zakończ instalację
// brak aktualizacji dla produktu
koniec
jeśli Zmienna ABORT równa się PRAWDZIWY
Zakończ instalację
// instalacja przerwana przez użytkownika
koniec
?
Zakończ instalację
// aktualizacje zostały pomyślnie zainstalowane
REGION ZAKOŃCZENIA Pobierz i zainstaluj aktualizacje
5. Możesz także zastąpić polecenie Reboot Computer znalezione w skrypcie aktualizacji poleceniem Endate with Exit Code. Zwłaszcza jeśli działasz w trybie cichym, prawdopodobnie nie chcesz ponownie uruchamiać komputera bez zgody użytkownika końcowego.
Zauważ, że nie ma ustalonej z góry reguły, co do kodów wyjścia używanych z poleceniem Zakończ z kodem wyjścia. Podczas gdy 0 jest używane uniwersalnie jako kod wyjścia oznaczający :sukces:, wszystkie inne kody wyjścia mają znaczenie zależne od aplikacji. Po prostu zdefiniuj własne kody wyjścia i sprawdź je w aplikacji wywołującej klienta aktualizacji. Przykład kodów wyjścia może wynosić 1 dla przerwania przez użytkownika, 2 dla niedostępnego serwera aktualizacji, 3 dla braku aktualizacji, 4 dla wymaganego ponownego uruchomienia i oczywiście 0 dla pomyślnej operacji. Podczas definiowania niestandardowych kodów wyjścia należy pamiętać, że system Windows dopuszcza tylko numeryczne kody wyjścia.
Należy również zauważyć, że klient aktualizacji nie sprawdza kodów wyjścia zwróconych przez aktualny instalator aktualizacji (rzeczywistą pełną instalację, poprawkę lub niestandardowy program stosujący aktualizację w systemie). Możesz zwrócić określone kody wyjścia z samego instalatora aktualizacji i sprawdzić kody powrotu zaraz po zakończeniu działania programu Run Program instalatora aktualizacji w skrypcie aktualizacji MSIcode.
Wdrażanie niestandardowych filtrów aktualizacji
Czy chcesz wyświetlać aktualizacje tylko dla uprawnionych użytkowników? na przykład użytkownicy korzystający z abonamentu w Twojej firmie. Alternatywnie możesz mieć wiele wydań swojego produktu i może być konieczne zakwalifikowanie dostępności aktualizacji nie tylko na podstawie wersji produktu, ale także dodatkowych parametrów, takich jak język produktu. InstallAware ułatwia dodawanie niestandardowych filtrów aktualizacji do standardowego klienta aktualizacji, ponieważ masz już pełne źródła skryptu aktualizacji MSIcode.
W tej sekcji zaimplementujemy filtr oparty na języku, aby zilustrować, jak dostosować dostarczanie aktualizacji produktu za pomocą gotowego klienta aktualizacji InstallAware. Na podstawie tego przykładu możesz dodać dowolne dodatkowe kwalifikatory niestandardowe do procesu aktualizacji, takie jak sprawdzanie seryjne, sprawdzanie poprawności subskrypcji itd..
Rozszerzanie definicji pakietów aktualizacji
Wykonaj następujące kroki, aby dodać kwalifikator niestandardowy do istniejących definicji pakietu aktualizacji:
1. Otwórz plik updates.ini utworzony w pierwszej części tego dokumentu za pomocą Notatnika Windows. Ten plik INI znajduje się w folderze projektu konfiguracji.
2. Zlokalizuj sekcję plików INI utworzoną dla pierwszego pakietu aktualizacyjnego. Ta sekcja plików INI rozpoczyna się od wiersza [Zalecana aktualizacja dla wersji 1.0]. Dodaj nowy wpis pliku INI w tej sekcji: Languages = English.
3. Zlokalizuj sekcję plików INI utworzoną dla drugiego pakietu aktualizacji. Ta sekcja plików INI zaczyna się od wiersza [Zalecana aktualizacja dla wersji 1.1]. Dodaj nową pozycję pliku INI w tej sekcji: Languages = German.
4. Zlokalizuj sekcję plików INI utworzoną dla ostatniego pakietu aktualizacyjnego. Ta sekcja plików INI rozpoczyna się od linii [Cumulative Updates dla wersji 1.0 i 1.1]. Dodaj nową pozycję pliku INI w tej sekcji: Języki = angielski, niemiecki.
5. Zapisz zmiany w pliku INI i prześlij na swój serwer sieciowy.
Do każdej deklaracji pakietu aktualizacji dodano teraz kwalifikator nowego języka. Klient aktualizacji można teraz rozszerzyć, aby uzyskać dostęp do tych informacji podczas odczytywania i analizowania pliku updates.ini.
Rozszerzanie klienta aktualizacji
Aby rozszerzyć klienta aktualizacji, dostosuj źródła kodu MSIcode skryptu aktualizacji, dodając logikę filtrowania do gotowego skryptu. Aby zachować ten dokument w prosty sposób, wprowadzone poniżej zmiany pomijają instalowanie aktualizacji, które nie są kwalifikowane, ostrzegając użytkownika końcowego za pomocą okna komunikatu. Bardziej zaawansowana implementacja może całkowicie ukryć niekwalifikowane aktualizacje z listy dostępnych aktualizacji.
1. W InstallEware IDE przejdź na kartę MSIcode. Wybierz skrypt aktualizacji.
2. Na karcie MSIcode w grupie Edytuj kliknij przycisk Znajdź. Wyszukaj tekst Uruchom program $ SUPPORTDIR $. Jest to część skryptu aktualizacji, który uruchamia instalator aktualizacji.
3. Przeciągnij i upuść lub wpisz polecenie Pobierz polecenie Ustawienia pliku INI dla MSIcode w wyróżnionym regionie skryptu MSIcode i skonfiguruj okno dialogowe Pobierz ustawienia pliku INI jak na zrzucie ekranu poniżej:
4. Teraz wstaw polecenie If MSIcode po poleceniu Pobierz ustawienia pliku INI, skonfigurowane tak:
5. Wstaw polecenie Else zaraz po poleceniu Uruchom program.
6. Wstaw komendę MessageBox po poleceniu Else, skonfigurowanym w następujący sposób:
7. Wstaw polecenie Zakończ za poleceniem MessageBox, zamykając klauzulę warunkową, uruchomioną wcześniej za pomocą polecenia If.
8. Pamiętaj, aby zapisać wszystkie swoje zmiany i odbudować konfigurację.
Po wykonaniu powyższych kroków skrypt MSIcode powinien wyglądać następująco:
Uzyskaj INI $ SUPPORTDIR $ updates.ini, [$ UPDATE_NAME $] Wartość języków ?
jeśli zmienna UPDATE_QUALIFIED zawiera $ LANGUAGE $
Uruchom program $ SUPPORTDIR $$ UPDATE_NAME $ .exe ?
jeszcze
MessageBox: $ TITLE $ Aktualizacje, $ TITLE $ Aktualizacje nie mogą zostać zainstalowane ?
koniec
W powyższym skrypcie Pobierz ustawienia pliku INI najpierw odczytuje z pliku INI (który zaktualizowaliśmy w poprzedniej sekcji) listę języków, które są dozwolone dla aktualizacji, i przechowuje tę listę w zmiennej $ UPDATE_QUALIFIED $. Jeśli następnie sprawdzi, czy zmienna $ UPDATE_QUALIFIED zawiera język, którego dotyczy zmienna predefiniowana $ LANGUAGE $? ta predefiniowana zmienna zawsze jest zgodna z angielską nazwą instalacji językowej. Jeśli ocena jest pozytywna, aktualizacja jest instalowana za pomocą Run Program, w przeciwnym razie MessageBox powiadamia użytkownika końcowego, że ta aktualizacja nie ma zastosowania w ich systemie.
Na przykład dla pakietu aktualizacyjnego [Zbiorcza aktualizacja dla 1.0 i 1.1] i konfiguracji języka angielskiego, zmienna $ UPDATE_QUALIFIED $ będzie oceniała literał literału angielskiego, niemieckiego, a zmienna $ LANGUAGE $ będzie oceniała literał literału angielskiego . Dlatego, ponieważ większy ciąg angielski, niemiecki zawiera mniejszy ciąg angielski, stosowana jest aktualizacja.
To kończy proces wdrażania dodatkowego filtru dla kwalifikujących się aktualizacji produktów. W zaledwie 5 liniach kodu dostosowano zachowanie wstępnie przygotowanego klienta aktualizacji do niestandardowych wymagań.
Dodatkowe zasoby
Aby uzyskać więcej informacji na temat technologii InstallAware, odwiedź sekcję publikacji witryny InstallAware pod następującym adresem URL:
http://www.installaware.com/home/publications.asp
Dokumenty ogólne zapewniające dogłębną analizę skryptów i technologii wdrażania oprogramowania InstallAware, a także Przewodnik recenzenta, są dostępne pod powyższym adresem URL.