Wskazówki: tworzenie niestandardowego programu inicjującego wyświetlającego prywatny monit
Można skonfigurować aplikacje ClickOnce powoduje automatyczne aktualizowanie zespołów o nowsze wersje plików i wersje zestawów stają się dostępne.Aby upewnić się, że klienci zgodę na takie zachowanie, można wyświetlić monit o prywatności do nich.Następnie one można wybrać, czy przyznać uprawnienia do aplikacji do automatycznej aktualizacji.Jeśli aplikacja nie może automatycznie zaktualizować, nie instalować.
[!UWAGA]
Na komputerze w poniższych instrukcjach mogą być wyświetlane inne nazwy i lokalizacje niektórych elementów interfejsu użytkownika programu Visual Studio. Te elementy są określane przez numer wersji Visual Studio oraz twoje ustawienia. Aby uzyskać więcej informacji, zobacz Dostosowywanie ustawień środowiska deweloperskiego w Visual Studio.
Wymagania wstępne
Potrzebne do przeprowadzenia tego instruktażu następujące składniki:
- Program Visual Studio 2010.
Tworzenie okna dialogowego zgody aktualizacji
Aby wyświetlić monit o prywatności, należy utworzyć aplikację, która prosi czytnik zgody na automatyczne aktualizacje aplikacji.
Aby utworzyć okno dialogowe zgody
Na pliku menu, wskaż Nowy, a następnie kliknij przycisk Projekt.
W Nowy projekt okno dialogowe, kliknij przycisk Windows, a następnie kliknij przycisk systemu Windowsformularzyaplikacji.
Dla Nazwa, wpisz ConsentDialog, a następnie kliknij przycisk OK.
W projektancie kliknij formularz.
W Właściwości okna, zmiana tekst właściwość do okna dialogowego zgodę w aktualizacji.
W Przybornik, rozwiń węzeł Wszystkich Windows Formsi przeciągnij etykiecie formantu do formularza.
W projektancie kliknij formant etykiety.
W Właściwości okna, zmiana tekst właściwość pod Wygląd do następującego:
Sprawdza, czy aplikacji, który chcesz zainstalować najnowsze aktualizacje dla sieci Web.Klikając na "Zgadzam się", można zezwolić aplikacji, aby sprawdzić i zainstaluj aktualizacje automatycznie z Internetu.
W Przybornik, przeciągnij pole wyboru kontroli do poziomu środkowej części formularza.
W Właściwości okna, zmiana tekst właściwość pod Układ do zgadzam się.
W Przybornik, przeciągnij przycisku formant w lewym dolnym rogu formularza.
W Właściwości okna, zmiana tekst właściwość pod Układ do Kontynuuj.
W Właściwości okna, zmiana (nazwa) właściwość pod Projekt do ProceedButton.
W Przybornik, przeciągnij przycisku kontroli u dołu z prawej strony formularza.
W Właściwości okna, zmiana tekst właściwość pod Układ do Anuluj.
W Właściwości okna, zmiana (nazwa) właściwość pod Projekt do CancelButton.
W projektancie, kliknij dwukrotnie zgadzam się pole wyboru, aby wygenerować obsługi zdarzeń CheckedChanged.
W pliku kodu formularza Form1 Dodaj następujący kod do obsługi zdarzenia CheckedChanged.
Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged ProceedButton.Enabled = Not ProceedButton.Enabled End Sub
private void checkBox1_CheckedChanged(object sender, EventArgs e) { ProceedButton.Enabled = !ProceedButton.Enabled; }
Aktualizowanie konstruktora klasy, aby wyłączyć Przejdź przycisk domyślnie.
Public Sub New() InitializeComponent() ProceedButton.Enabled = False End Sub
public Form1() { InitializeComponent(); ProceedButton.Enabled = false; }
W pliku kodu formularza Form1 Dodaj następujący kod dla zmiennej typu Boolean do śledzenia, jeśli użytkownik końcowy wyraził zgodę na aktualizacje w trybie online.
Public accepted As Boolean = False
public bool accepted = false;
W projektancie, kliknij dwukrotnie Przejdź przycisk, aby wygenerować obsługi zdarzeń kliknij przycisk.
W pliku kodu formularza Form1, Dodaj następujący kod do obsługi zdarzenia kliknij Przejdź przycisku.
Private Sub ProceedButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ProceedButton.Click If ProceedButton.Enabled Then accepted = True Me.Close() End If End Sub
private void ProceedButton_Click(object sender, EventArgs e) { if (ProceedButton.Enabled) { accepted = true; this.Close(); } }
W projektancie, kliknij dwukrotnie anulowanie przycisk, aby wygenerować obsługi zdarzeń kliknij przycisk.
W pliku kodu formularza Form1, Dodaj następujący kod do obsługi zdarzenia kliknij anulowanie przycisku.
Private Sub CancelButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CancelButton.Click Me.Close() End Sub
private void CancelButton_Click(object sender, EventArgs e) { this.Close(); }
Aktualizacja aplikacji zwraca błąd, jeśli użytkownik nie wyraża zgody na aktualizacje w trybie online.
Visual Basic tylko dla deweloperów:
W Solution Explorer, kliknij przycisk ConsentDialog.
Na Projekt menu, kliknij przycisk Dodać moduł, a następnie kliknij przycisk Dodaj.
W pliku Module1.vb kod 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
Na Projekt menu, kliknij przycisk Właściwości ConsentDialog, a następnie kliknij przycisk aplikacji kartę.
Usuń zaznaczenie pola wyboru umożliwić ram stosowania.
W uruchamiania obiektu menu rozwijanego wybierz Module1.
[!UWAGA]
Wyłączanie aplikacji wyłącza funkcje, takie jak style wizualne systemu Windows XP, zdarzenia aplikacji, pojawi się ekran powitalny, pojedyncze wystąpienie aplikacji i więcej.Aby uzyskać więcej informacji, zobacz Strona aplikacji, Projektant projektu (Visual Basic).
Visual C# tylko dla deweloperów:
Otwórz plik Program.cs pliku kodu 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; }
Na budować menu, kliknij przycisk budowaćroztwór.
Tworzenie pakietu niestandardowego program inicjujący
Aby wyświetlić monit prywatności użytkownikom końcowym, można utworzyć pakietu niestandardowego program inicjujący stosowania dialogowym zgody aktualizacji i dołączyć go jako warunek wstępny we wszystkich aplikacjach ClickOnce.
Ta procedura przedstawia sposób tworzenia pakietu niestandardowego program inicjujący tworząc następujące dokumenty:
Product.xml manifest pliku do opisywania zawartości program inicjujący.
Package.xml pliku manifestu do listy lokalizacji określonych aspektów pakietu, takie jak ciągi i postanowienia licencyjne dotyczące oprogramowania.
Dokument postanowienia licencyjne dotyczące oprogramowania.
Krok 1: Aby utworzyć katalog program inicjujący
Utwórz katalog o nazwie UpdateConsentDialog w folderze %PROGRAMFILES%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages.
[!UWAGA]
Może być konieczne uprawnienia administracyjne, aby utworzyć ten folder.
W katalogu UpdateConsentDialog Utwórz podkatalog o nazwie en.
[!UWAGA]
Utwórz nowy katalog dla każdego ustawienia regionalnego.Na przykład można dodać podkatalogów dla ustawień regionalnych fr i de.Te katalogi zawierałaby ciągi francuskim i niemieckim i pakiety językowe, jeśli to konieczne.
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 należy zastępować istniejącego kodu XML.
<Product xmlns="https://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 UpdateConsentDialog program inicjujący.
Krok 3: Aby utworzyć package.xml manifest pliku i oprogramowanie licencyjne
Utwórz plik tekstowy o nazwie package.xml.
W pliku package.xml Dodaj następujący kod XML, aby zdefiniować ustawienia regionalne i zawierać postanowienia licencyjne dotyczące oprogramowania.Upewnij się, że nie należy zastępować istniejącego kodu XML.
<Package xmlns="https://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 do podkatalogu en w katalogu UpdateConsentDialog program inicjujący.
Utworzyć dokument o nazwie eula.rtf do postanowienia licencyjne dotyczące oprogramowania.
[!UWAGA]
Postanowienia licencyjne dotyczące oprogramowania powinny obejmować informacje dotyczące licencjonowania, gwarancji, zobowiązań i lokalnych przepisów.Te pliki powinny być specyficzne dla ustawień regionalnych, dlatego należy upewnić się, że plik jest zapisany w formacie, który obsługuje znaki MBCS lub UNICODE.Zapoznaj się z działu prawne dotyczące treści postanowień licencyjnych dotyczących oprogramowania.
Zapisać dokument w en podkatalog w katalogu UpdateConsentDialog program inicjujący.
Jeśli to konieczne, należy utworzyć nowy plik manifestu package.xml i nowy dokument eula.rtf dla postanowienia licencyjne dotyczące oprogramowania dla każdego ustawienia regionalnego.Na przykład jeśli utworzono podkatalogów dla ustawień regionalnych fr i de tworzenie oddzielnych package.xml pliki manifestu oraz postanowienia licencyjne dotyczące oprogramowania i zapisać je w podkatalogach fr i de.
Ustawianie aplikacji zgody aktualizacji jako warunek wstępny
W programie Visual Studio można ustawić zgody aktualizacji aplikacji jako warunek wstępny.
Aby ustawić aktualizacji zgody aplikacji jako warunek wstępny
W Solution Explorer, kliknij nazwę aplikacji, który chcesz rozmieścić.
Na Projekt menu, kliknij przycisk NazwaProjektu Właściwości.
Kliknij przycisk Publikuj stronę, a następnie kliknij przycisk Warunki wstępne.
Wybierz aktualizacji okna dialogowego zgody.
[!UWAGA]
Może trzeba zamknąć i ponownie otworzyć programu Visual Studio, aby zobaczyć dialogowym zgody aktualizacji w oknie dialogowym wstępne.
Click OK.
Tworzenie i testowanie programu instalacyjnego
Po ustawieniu zgody aktualizacji aplikacji jako warunek wstępny dla danej aplikacji można wygenerować Instalator i program inicjujący.
Aby utworzyć i przetestować program instalacyjny nie klikając Zgadzam się
W Solution Explorer, kliknij nazwę aplikacji, który chcesz rozmieścić.
Na Projekt menu, kliknij przycisk NazwaProjektu Właściwości.
Kliknij przycisk Publikuj stronę, a następnie kliknij przycisk Teraz publikować.
Jeśli dane wyjściowe Publikuj nie otworzy się automatycznie, przejdź do publikowania danych wyjściowych.
Uruchom Setup.exe program.
Program instalacyjny zawiera umowy licencyjnej dialogowym zgody aktualizacji oprogramowania.
Przeczytaj umowę licencyjną oprogramowania, a następnie kliknij przycisk Zaakceptuj.
Aplikacja zgody aktualizacji w okno dialogowe pojawia się i zawiera następujący tekst: sprawdza aplikacji, który chcesz zainstalować najnowsze aktualizacje w sieci Web.Klikając na zgadzam się, można zezwolić aplikacji, aby sprawdzić, czy są aktualizacje automatyczne w Internecie.
Zamknij aplikację, lub kliknij przycisk Anuluj.
Aplikacja zawiera błąd: Wystąpił błąd podczas instalowania składników systemu dla ApplicationName.Instalator nie może kontynuować, dopóki wszystkie składniki systemu została pomyślnie zainstalowana.
Kliknij przycisk Szczegóły, aby wyświetlić następujący komunikat o błędzie: Aktualizacja składnika zgody okna dialogowego nie może zainstalować następujący komunikat o błędzie: "Umowy automatyczna aktualizacja nie zostanie zaakceptowany." Nie można zainstalować następujące składniki:-okno dialogowe zgodę w aktualizacji
Kliknij przycisk Zamknij.
Aby utworzyć i przetestować program instalacyjny, klikając przycisk Zgadzam się
W Solution Explorer, kliknij nazwę aplikacji, który chcesz rozmieścić.
Na Projekt menu, kliknij przycisk NazwaProjektu Właściwości.
Kliknij przycisk Publikuj stronę, a następnie kliknij przycisk Teraz publikować.
Jeśli dane wyjściowe Publikuj nie otworzy się automatycznie, przejdź do publikowania danych wyjściowych.
Uruchom Setup.exe program.
Program instalacyjny zawiera umowy licencyjnej dialogowym zgody aktualizacji oprogramowania.
Przeczytaj umowę licencyjną oprogramowania, a następnie kliknij przycisk Zaakceptuj.
Aplikacja zgody aktualizacji w okno dialogowe pojawia się i zawiera następujący tekst: sprawdza aplikacji, który chcesz zainstalować najnowsze aktualizacje w sieci Web.Klikając na zgadzam się, można zezwolić aplikacji, aby sprawdzić, czy są aktualizacje automatyczne w Internecie.
Kliknij przycisk zgadzam się, a następnie kliknij przycisk Przejdź.
Aby zainstalować uruchamiana jest aplikacja.
Jeśli pojawi się okno dialogowe instalacji aplikacji, kliknij przycisk zainstalować.
Zobacz też
Zadania
Porady: tworzenie manifestu produkt
Porady: tworzenie manifestu pakietu
Informacje
Produkt i pakiet — odwołanie do schematu