Walkthrough: Criar um Bootstrapper Personalizar para mostrar um Prompt de privacidade
Você pode configurar aplicativos de ClickOnce para atualizar automaticamente quando os assemblies com versões mais recentes do arquivo e versões de montagem se tornam disponíveis. Para certificar-se de que seus clientes consentimento para esse comportamento, você pode exibir um prompt de privacidade para eles. Em seguida, eles poderão optar conceder permissão para atualizar automaticamente o aplicativo. Se o aplicativo não é permitido para atualizar automaticamente, ele não instala.
Observação |
---|
Seu computador pode mostrar nomes ou locais diferentes para alguns dos elementos da interface do usuário do Visual Studio nas instruções a seguir. A edição do Visual Studio que você possui e as configurações que você usa determinam esses elementos. Para obter mais informações, consulte Configurações do Visual Studio. |
Pré-requisitos
Para completar este passo a passo, são necessários os seguintes componentes:
- 2010 De Visual Studio.
A criação de uma caixa de diálogo de consentimento de atualização
Para exibir um aviso de privacidade, crie um aplicativo que solicita que o leitor para consentir as atualizações automáticas para o aplicativo.
Para criar uma caixa de diálogo de consentimento
No menu File, aponte para New, e em seguida, clique em Project.
No Novo projeto caixa de diálogo, clique em Windowse em seguida, clique em Windows formulários aplicativo.
Para o nome, digite ConsentDialog e clique em OK.
No designer, clique no formulário.
No Propriedades janela, alterar o texto propriedade à caixa de diálogo de consentimento do Update.
No caixa de ferramentas, expandir All Windows Formse arraste um rótulo controle ao formulário.
No designer, clique no controle label.
No Propriedades janela, alterar o texto propriedade em aparência à seguinte:
O aplicativo que você está prestes a instalar verifica as atualizações mais recentes na Web. Clicando em "Eu concordo", você pode autorizar o aplicativo para verificar e instalar atualizações automaticamente da Internet.
No Toolbox, arraste um caixa de seleção o controle para o meio do formulário.
No Propriedades janela, alterar o texto propriedade em Layout para concordo.
No caixa de ferramentas, arraste um botão controle para o canto inferior esquerdo do formulário.
No Propriedades janela, alterar o texto propriedade em Layout para prosseguir.
No Propriedades janela, alterar o (nome) propriedade em Design para ProceedButton.
No Toolbox, arraste um botão o controle para a parte inferior direita do formulário.
No Propriedades janela, alterar o texto propriedade em Layout para cancelar.
No Propriedades janela, alterar o (nome) propriedade em Design para CancelButton.
No designer, clique duas vezes o I Agree caixa de seleção para gerar o manipulador de evento CheckedChanged.
No arquivo de código de Form1, adicione o seguinte código para o manipulador de eventos 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; }
Atualizar o construtor de classe para desativar o prosseguir o botão por padrão.
Public Sub New() InitializeComponent() ProceedButton.Enabled = False End Sub
public Form1() { InitializeComponent(); ProceedButton.Enabled = false; }
No arquivo de código de Form1, adicione o seguinte código para uma variável booleana controlar se o usuário final aceitou atualizações on-line.
Public accepted As Boolean = False
public bool accepted = false;
No designer, clique duas vezes o prosseguir o botão para gerar o manipulador de eventos Click.
No arquivo de código de Form1, adicione o seguinte código ao manipulador de eventos Click para o prosseguir botão.
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(); } }
No designer, clique duas vezes o Cancelar o botão para gerar o manipulador de eventos Click.
No arquivo de código de Form1, adicione o seguinte código para o manipulador de evento Click para o Cancelar botão.
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(); }
Atualize o aplicativo para retornar um erro se o usuário final não concordar com as atualizações on-line.
Visual Basic somente para desenvolvedores:
Em Solution Explorer, clique em ConsentDialog.
Sobre o projeto menu, clique em Adicionar móduloe, em seguida, clique em Adicionar.
No arquivo de código Module1. vb, adicione o seguinte código.
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
No projeto menu, clique em Propriedades de ConsentDialoge clique o aplicativo guia.
Desmarque Ativar estrutura de aplicativo.
No o objeto de inicialização menu drop-down, selecione Módulo1.
Observação Desativar o application framework desativa recursos como, por exemplo, estilos visuais do Windows XP, os eventos de aplicativo, tela de abertura, o aplicativo de instância única e muito mais. Para obter mais informações, consulte Página de aplicativo, Designer de Projeto (Visual Basic).
C# Visual somente para desenvolvedores:
Abra o arquivo de código Program. cs e adicione o seguinte código.
static int Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Form1 f = new Form1(); Application.Run(f); if (!f.accepted) return -1; else return 0; }
No Build menu, clique em Build solução.
Criação do pacote de Bootstrapper personalizado
Para mostrar o prompt de privacidade para usuários finais, você pode criar um pacote de bootstrapper personalizado para o aplicativo de diálogo de consentimento de atualização e incluí-lo como um pré-requisito em todos os seus aplicativos de ClickOnce.
Esse procedimento demonstra como criar um pacote de bootstrapper personalizado, criando os seguintes documentos:
O arquivo para descrever o conteúdo de bootstrapper de manifesto de um Product. XML.
Um arquivo de manifesto de Package. XML para listar os aspectos específicos de localização do seu pacote, como, por exemplo, seqüências de caracteres e os termos de licença de software.
Um documento para os termos de licença de software.
Etapa 1: Para criar o diretório de bootstrapper
Crie um diretório chamado UpdateConsentDialog no %PROGRAMFILES%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages.
Observação Talvez você precise de privilégios administrativos para criar essa pasta.
No diretório UpdateConsentDialog, crie uma subpasta chamada en.
Observação Crie um novo diretório para cada localidade. Por exemplo, você pode adicionar as localidades fr e de subpastas. Esses diretórios conteria as seqüências de caracteres de francês e alemão e os pacotes de idiomas, se necessário.
Etapa 2: Para criar o arquivo de manifesto de arquivo Product. XML
Crie um arquivo de texto chamado Product. XML.
No arquivo Product. XML, adicione o seguinte código XML. Certifique-se de que você não substitua o código XML existente.
<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>
Salve o arquivo para o diretório de bootstrapper de UpdateConsentDialog.
Etapa 3: Para criar o arquivo de manifesto de Package. XML e os termos de licença de software
Crie um arquivo de texto chamado Package. XML.
No arquivo Package. XML, adicione o seguinte código XML para definir a localidade e incluir os termos de licença de software. Certifique-se de que você não substitua o código XML existente.
<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>
Salve o arquivo para o subdiretório en no diretório UpdateConsentDialog bootstrapper.
Crie um documento chamado EULA. RTF para os termos de licença de software.
Observação Os termos de licença de software devem incluir informações sobre licenciamento, garantias, responsabilidades e leis locais. Esses arquivos devem ser específicos da localidade, portanto certifique-se de que o arquivo é salvo em um formato que oferece suporte a caracteres MBCS ou UNICODE. Consulte seu departamento jurídico sobre o conteúdo dos termos de licença de software.
Salve o documento para o subdiretório en no diretório UpdateConsentDialog bootstrapper.
Se necessário, crie um novo arquivo de manifesto de Package. XML e um novo documento do EULA. RTF para os termos de licença de software para cada localidade. Por exemplo, se você criou subdiretórios para as localidades fr e de criar arquivos de manifesto de Package. XML separado e os termos de licença de software e salvá-los em fr e de subdiretórios.
Configurando o aplicativo de consentimento de atualização como um pré-requisito
No Visual Studio, você pode definir o aplicativo de atualização de consentimento como pré-requisito.
Para definir o aplicativo de consentimento de atualização como um pré-requisito.
Em Solution Explorer, clique no nome do seu aplicativo que você deseja implantar.
Sobre o projeto menu, clique em ProjectName propriedades.
Clique o Publicar página e clique pré-requisitos.
Selecione atualizar a caixa de diálogo de consentimento.
Observação Talvez você precise fechar e reabrir o Visual Studio para ver o diálogo de consentimento de atualização na caixa de diálogo de pré-requisitos.
Clique em OK.
Criar e testar o programa de instalação
Depois de definir o aplicativo de atualização de consentimento como pré-requisito, você pode gerar o installer e o bootstrapper para seu aplicativo.
Para criar e testar o programa de instalação clicando-se não concordo
Em Solution Explorer, clique no nome do seu aplicativo que você deseja implantar.
Sobre o projeto menu, clique em ProjectName propriedades.
Clique o Publicar página e clique Publicar agora.
Se a saída de publicar não abrir automaticamente, navegue para a saída de publicar.
Execute o programa Setup. exe.
O programa de instalação mostra o contrato de licença de software do diálogo de consentimento de atualização.
Leia o contrato de licença de software e, em seguida, clique em Aceitar.
O aplicativo de diálogo de consentimento de atualização aparece e mostra o seguinte texto: O aplicativo que você está prestes a instalar verifica as atualizações mais recentes na Web. Ao clicar em concordo, você pode autorizar o aplicativo para verificar atualizações automaticamente na Internet.
Feche o aplicativo ou clique em Cancelar.
O aplicativo mostra um erro: Ocorreu um erro ao instalar os componentes do sistema para ApplicationName. A instalação não pode continuar até que todos os componentes do sistema foi instalados com êxito.
Clique em detalhes para exibir a seguinte mensagem de erro: Diálogo de consentimento de atualização do componente foi instalado com a seguinte mensagem de erro: "O contrato de atualização automática não é aceito". Falha na instalação dos seguintes componentes: -Caixa de diálogo de consentimento atualização
Clique em Close.
Para criar e testar o programa de instalação clicando em concordo
Em Solution Explorer, clique no nome do seu aplicativo que você deseja implantar.
Sobre o projeto menu, clique em ProjectName propriedades.
Clique o Publicar página e clique Publicar agora.
Se a saída de publicar não abrir automaticamente, navegue para a saída de publicar.
Execute o programa Setup. exe.
O programa de instalação mostra o contrato de licença de software do diálogo de consentimento de atualização.
Leia o contrato de licença de software e, em seguida, clique em Aceitar.
O aplicativo de diálogo de consentimento de atualização aparece e mostra o seguinte texto: O aplicativo que você está prestes a instalar verifica as atualizações mais recentes na Web. Ao clicar em concordo, você pode autorizar o aplicativo para verificar atualizações automaticamente na Internet.
Clique em I Agreee em seguida, clique em prosseguir.
O aplicativo começará a instalar.
Se for exibida a caixa de diálogo de instalação do aplicativo, clique em instalar.
Consulte também
Referência
Product and Package Schema Reference
Conceitos
Pré-requisitos de implantação do aplicativo
Criação de pacotes de Bootstrapper