Przewodnik: tworzenie niestandardowego programu inicjującego wyświetlającego monit o zasadach ochrony prywatności
Aplikacje ClickOnce można skonfigurować tak, aby automatycznie aktualizowały się, gdy zestawy z nowszymi wersjami plików i wersjami zestawów staną się dostępne. Aby upewnić się, że klienci wyrażają zgodę na to zachowanie, możesz wyświetlić monit o prywatność. Następnie mogą zdecydować, czy przyznać aplikacji uprawnienia do automatycznego aktualizowania. Jeśli aplikacja nie może być aktualizowana automatycznie, nie jest instalowana.
Uwaga
Na komputerze mogą być wyświetlane różne nazwy lub lokalizacje niektórych elementów interfejsu użytkownika programu Visual Studio w tym artykule. Być może używasz innej wersji programu Visual Studio lub innych ustawień środowiska. Aby uzyskać więcej informacji, zobacz Personalizowanie środowiska IDE.
Okno dialogowe Tworzenie zgody na aktualizację
Aby wyświetlić monit o prywatność, utwórz aplikację, która prosi czytelnika o wyrażenie zgody na automatyczne aktualizacje aplikacji.
Aby utworzyć okno dialogowe zgody
W menu Plik wskaż polecenie Nowy, a następnie kliknij Projekt.
W oknie dialogowym Nowy projekt kliknij pozycję Windows, a następnie kliknij pozycję WindowsFormsApplication.
W polu Nazwa wpisz ConsentDialog, a następnie kliknij przycisk OK.
W projektancie kliknij formularz.
W oknie Właściwości zmień właściwość Text na Aktualizuj okno dialogowe zgody.
W przyborniku rozwiń pozycję Wszystkie formularze systemu Windows i przeciągnij kontrolkę Etykieta do formularza.
W projektancie kliknij kontrolkę etykiety.
W oknie Właściwości zmień właściwość Text w obszarze Wygląd na następujące:
Aplikacja, która ma zostać zainstalowana, sprawdza najnowsze aktualizacje w Sieci Web. Klikając pozycję "Zgadzam się", autoryzujesz aplikację do sprawdzania i instalowania aktualizacji automatycznie z Internetu.
W przyborniku przeciągnij kontrolkę Pole wyboru na środek formularza.
W oknie Właściwości zmień właściwość Text w obszarze Układ na Zgadzam się.
W przyborniku przeciągnij kontrolkę Przycisk do lewej dolnej części formularza.
W oknie Właściwości zmień właściwość Text w obszarze Układ na Kontynuuj.
W oknie Właściwości zmień właściwość (Name) w obszarze Projektowanie na KontynuujButton.
W przyborniku przeciągnij kontrolkę Przycisk do prawej dolnej części formularza.
W oknie Właściwości zmień właściwość Text w obszarze Układ na Anuluj.
W oknie Właściwości zmień właściwość (Name) w obszarze Projektowanie na CancelButton.
W projektancie kliknij dwukrotnie pole wyboru Zgadzam się , aby wygenerować program obsługi zdarzeń CheckedChanged.
W pliku kodu Form1 dodaj następujący kod dla programu obsługi zdarzeń CheckedChanged.
Zaktualizuj konstruktor klasy, aby wyłączyć przycisk Kontynuuj domyślnie.
W pliku kodu Form1 dodaj następujący kod zmiennej logicznej, aby śledzić, czy użytkownik końcowy wyraził zgodę na aktualizacje online.
W projektancie kliknij dwukrotnie przycisk Kontynuuj, aby wygenerować procedurę obsługi zdarzeń kliknięcia.
W pliku kodu Form1 dodaj następujący kod do procedury obsługi zdarzeń Click dla przycisku Kontynuuj .
W projektancie kliknij dwukrotnie przycisk Anuluj, aby wygenerować procedurę obsługi zdarzeń kliknięcia.
W pliku kodu Form1 dodaj następujący kod procedury obsługi zdarzeń Click dla przycisku Anuluj .
Zaktualizuj aplikację, aby zwróciła błąd, jeśli użytkownik końcowy nie wyrazi zgody na aktualizacje online.
Tylko dla deweloperów języka Visual Basic:
W Eksplorator rozwiązań kliknij pozycję ConsentDialog.
W menu Project (Projekt) kliknij pozycję Add Module (Dodaj moduł), a następnie kliknij przycisk Add (Dodaj).
W pliku kodu Module1.vb dodaj następujący kod.
Module Module1 Function Main() As Integer Application.EnableVisualStyles() Application.SetCompatibleTextRenderingDefault(False) Dim f As New Form1() Application.Run(f) If (Not f.accepted) Then Return -1 Else Return 0 End If End Function End Module
W menu Project (Projekt) kliknij pozycję ConsentDialog Properties (Właściwości aplikacji), a następnie kliknij kartę Aplikacja.
Usuń zaznaczenie pola wyboru Włącz platformę aplikacji.
W menu rozwijanym Obiekt startowy wybierz pozycję Module1.
Uwaga
Wyłączenie struktury aplikacji powoduje wyłączenie funkcji, takich jak style wizualne, zdarzenia aplikacji, ekran powitalny, aplikacja pojedynczego wystąpienia i inne. Aby uzyskać więcej informacji, zobacz Strona aplikacji, Project Designer (Visual Basic).
Tylko dla deweloperów języka Visual C#:
Otwórz plik kodu Program.cs i dodaj następujący kod.
static int Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Form1 f = new Form1(); Application.Run(f); if (!f.accepted) return -1; else return 0; }
W menu Kompilacja kliknij pozycję KompilacjaRozwiązywanie.
Tworzenie niestandardowego pakietu programu inicjjącego
Aby wyświetlić monit o prywatność dla użytkowników końcowych, możesz utworzyć niestandardowy pakiet programu inicjjącego dla aplikacji Okna dialogowego zgody aktualizacji i dołączyć go jako wymaganie wstępne we wszystkich aplikacjach ClickOnce.
Ta procedura pokazuje, jak utworzyć niestandardowy pakiet programu inicjjącego, tworząc następujące dokumenty:
Plik manifestu product.xml opisujący zawartość programu inicjujący.
Plik manifestu package.xml zawierający listę aspektów specyficznych dla lokalizacji pakietu, takich jak ciągi i postanowienia licencyjne dotyczące oprogramowania.
Dokument dotyczący postanowień licencyjnych dotyczących oprogramowania.
Krok 1. Aby utworzyć katalog programu inicjatora
Utwórz katalog o nazwie UpdateConsentDialog w folderze %PROGRAMFILES%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages.
Uwaga
Aby utworzyć ten folder, może być konieczne uprawnienia administracyjne.
W katalogu UpdateConsentDialog utwórz podkatalog o nazwie en.
Uwaga
Utwórz nowy katalog dla każdego ustawienia regionalnego. Można na przykład dodać podkatalogi dla ustawień regionalnych fr i de. Katalogi te zawierają w razie potrzeby ciągi francuskie i niemieckie oraz pakiety językowe.
Krok 2. Aby utworzyć plik manifestu product.xml
Utwórz plik tekstowy o nazwie product.xml.
W pliku product.xml dodaj następujący kod XML. Upewnij się, że nie zastąpisz istniejącego kodu XML.
<Product xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper" ProductCode="Microsoft.Sample.EULA"> <!-- Defines the list of files to be copied on build. --> <PackageFiles CopyAllPackageFiles="false"> <PackageFile Name="ConsentDialog.exe"/> </PackageFiles> <!-- Defines how to run the Setup package.--> <Commands > <Command PackageFile = "ConsentDialog.exe" Arguments=''> <ExitCodes> <ExitCode Value="0" Result="Success" /> <ExitCode Value="-1" Result="Fail" String="AU_Unaccepted" /> <DefaultExitCode Result="Fail" FormatMessageFromSystem="true" String="GeneralFailure" /> </ExitCodes> </Command> </Commands> </Product>
Zapisz plik w katalogu programu inicjatora UpdateConsentDialog.
Krok 3. Aby utworzyć plik manifestu package.xml i postanowienia licencyjne dotyczące oprogramowania
Utwórz plik tekstowy o nazwie package.xml.
W pliku package.xml dodaj następujący kod XML, aby zdefiniować ustawienia regionalne i uwzględnić postanowienia licencyjne dotyczące oprogramowania. Upewnij się, że nie zastąpisz istniejącego kodu XML.
<Package xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper" Name="DisplayName" Culture="Culture" LicenseAgreement="eula.rtf"> <PackageFiles> <PackageFile Name="eula.rtf"/> </PackageFiles> <!-- Defines a localizable string table for error messages. --> <Strings> <String Name="DisplayName">Update Consent Dialog</String> <String Name="Culture">en</String> <String Name="AU_Unaccepted">The automatic update agreement is not accepted.</String> <String Name="GeneralFailure">A failure occurred attempting to launch the setup.</String> </Strings> </Package>
Zapisz plik w podkatalogu en w katalogu bootstrapper UpdateConsentDialog.
Utwórz dokument o nazwie eula.rtf dla postanowień licencyjnych dotyczących oprogramowania.
Uwaga
Postanowienia licencyjne dotyczące oprogramowania powinny zawierać informacje na temat licencjonowania, gwarancji, zobowiązań i przepisów lokalnych. Te pliki powinny być specyficzne dla ustawień regionalnych, dlatego upewnij się, że plik jest zapisywany w formacie obsługującym znaki MBCS lub UNICODE. Zapoznaj się z działem prawnym w sprawie zawartości postanowień licencyjnych dotyczących oprogramowania.
Zapisz dokument w podkatalogu en w katalogu bootstrapper UpdateConsentDialog .
W razie potrzeby utwórz nowy plik manifestu package.xml i nowy dokument eula.rtf dla postanowień licencyjnych dotyczących oprogramowania dla poszczególnych ustawień regionalnych. Jeśli na przykład utworzono podkatalogi dla ustawień regionalnych fr i de, utwórz oddzielne pliki manifestu package.xml i postanowienia licencyjne dotyczące oprogramowania i zapisz je w podkatalogach fr i de.
Ustaw aplikację zgody aktualizacji jako wymaganie wstępne
W programie Visual Studio możesz ustawić aplikację Update Consent jako wymaganie wstępne.
Aby ustawić aplikację zgody aktualizacji jako wymaganie wstępne
W Eksplorator rozwiązań kliknij nazwę aplikacji, którą chcesz wdrożyć.
W menu Project (Projekt) kliknij pozycję ProjectName Properties (Właściwości projektu).
Kliknij stronę Publikowanie, a następnie kliknij pozycję Wymagania wstępne.
Wybierz pozycję Aktualizuj okno dialogowe zgody.
Uwaga
Może być konieczne zamknięcie i ponowne otwarcie programu Visual Studio, aby wyświetlić okno dialogowe Aktualizowanie zgody w oknie dialogowym Wymagania wstępne.
Kliknij przycisk OK.
Tworzenie i testowanie programu instalacyjnego
Po ustawieniu aplikacji Update Consent jako wymagania wstępne można wygenerować instalatora i program inicjatora dla aplikacji.
Aby utworzyć i przetestować program instalacyjny, nie klikając przycisku Zgadzam się
W Eksplorator rozwiązań kliknij nazwę aplikacji, którą chcesz wdrożyć.
W menu Project (Projekt) kliknij pozycję ProjectName Properties (Właściwości projektu).
Kliknij stronę Publikuj, a następnie kliknij pozycję Publikuj teraz.
Jeśli dane wyjściowe publikowania nie są otwierane automatycznie, przejdź do danych wyjściowych publikowania.
Uruchom program Setup.exe.
W programie instalacyjnym jest wyświetlana umowa licencyjna dotycząca oprogramowania okna dialogowego zgody aktualizacji.
Przeczytaj umowę licencyjną oprogramowania, a następnie kliknij przycisk Akceptuj.
Zostanie wyświetlona aplikacja dialogowa Aktualizuj zgodę i zostanie wyświetlony następujący tekst: Aplikacja, która ma zostać zainstalowana, sprawdza najnowsze aktualizacje w sieci Web. Klikając pozycję Zgadzam się, autoryzujesz aplikację do automatycznego sprawdzania dostępności aktualizacji w Internecie.
Zamknij aplikację lub kliknij przycisk Anuluj.
Aplikacja wyświetla błąd: Wystąpił błąd podczas instalowania składników systemowych dla elementu ApplicationName. Instalator nie może kontynuować, dopóki wszystkie składniki systemu nie zostały pomyślnie zainstalowane.
Kliknij przycisk Szczegóły, aby wyświetlić następujący komunikat o błędzie: Okno dialogowe zgody na aktualizację składnika nie powiodło się z następującym komunikatem o błędzie: "Umowa automatyczna aktualizacji nie została zaakceptowana". Instalacja następujących składników nie powiodła się: — Aktualizowanie okna dialogowego zgody
Kliknij przycisk Zamknij.
Aby utworzyć i przetestować program instalacyjny, kliknij pozycję Zgadzam się
W Eksplorator rozwiązań kliknij nazwę aplikacji, którą chcesz wdrożyć.
W menu Project (Projekt) kliknij pozycję ProjectName Properties (Właściwości projektu).
Kliknij stronę Publikuj, a następnie kliknij pozycję Publikuj teraz.
Jeśli dane wyjściowe publikowania nie są otwierane automatycznie, przejdź do danych wyjściowych publikowania.
Uruchom program Setup.exe.
W programie instalacyjnym jest wyświetlana umowa licencyjna dotycząca oprogramowania okna dialogowego zgody aktualizacji.
Przeczytaj umowę licencyjną oprogramowania, a następnie kliknij przycisk Akceptuj.
Zostanie wyświetlona aplikacja dialogowa Aktualizuj zgodę i zostanie wyświetlony następujący tekst: Aplikacja, która ma zostać zainstalowana, sprawdza najnowsze aktualizacje w sieci Web. Klikając pozycję Zgadzam się, autoryzujesz aplikację do automatycznego sprawdzania dostępności aktualizacji w Internecie.
Kliknij przycisk Zgadzam się, a następnie kliknij przycisk Kontynuuj.
Aplikacja rozpoczyna instalację.
Jeśli zostanie wyświetlone okno dialogowe Instalowanie aplikacji, kliknij przycisk Zainstaluj.