Passo a passo: Criando um Bootstrapper personalizado para mostrar um Prompt de privacidade
Você pode configurar aplicativos de ClickOnce para atualizar automaticamente quando os módulos (assemblies) com as versões mais recentes do arquivo e versões de montagem se tornam disponíveis.Para certificar-se de que seus clientes concorda com esse comportamento, você pode exibir um prompt de privacidade para eles.Em seguida, eles poderão optar conceder permissão para o aplicativo para atualizar automaticamente.Se o aplicativo não tiver permissão 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 de Visual Studio. |
Pré-requisitos
Para completar este passo a passo, são necessários os seguintes componentes:
- 2010, Visual Studio.
Criando 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 Windowsformuláriosaplicativo.
Para o nome, digite ConsentDialog e, em seguida, 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, expanda All Windows Formse arraste uma 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 as atualizações mais recentes de procura na Web.Clicando em "Eu concordo", você pode autorizar o aplicativo para verificar e instalar atualizações automaticamente da Internet.
No caixa de ferramentas, arraste um caixa de seleção o controle para o meio do formulário.
No Propriedades janela, alterar o texto propriedade em Layout i Agree.
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 caixa de ferramentas, 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 do manipulador de evento 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 da 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 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 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 consentir em 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 Add.
No arquivo de código Module1. vb, adicione o código a seguir.
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
Sobre o projeto menu, clique em ConsentDialog propriedadese, em seguida, clique no aplicativo guia.
Desmarque a opção Ativar estrutura de aplicativos.
No o objeto de inicialização menu drop-down, selecione Módulo1.
Observação Desativar o application framework desativa recursos, como estilos visuais do Windows XP, os eventos do 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; }
Sobre o Build menu, clique em Construirsolução.
Criação do pacote de Bootstrapper personalizado
Para mostrar o prompt de privacidade para os 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:
Um Product. XML o arquivo para descrever o conteúdo de bootstrapper de manifesto.
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: 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 um subdiretório chamado en.
Observação Crie um novo diretório para cada localidade.Por exemplo, você pode adicionar subpastas para as localidades fr e de.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: 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: Criar Package. XML o manifesto de arquivo e o software de termos de licença
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 as 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ê tiver criado subdiretórios para as localidades de 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 no Publicar da página e, em seguida, clique em 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 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 no Publicar da página e, em seguida, clique em Publicar agora.
Se a saída de publicar não abrir automaticamente, navegue até 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 caixa de diálogo Atualizar consentimento 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 se há atualizações automaticamente na Internet.
Feche o aplicativo ou clique em Cancelar.
O aplicativo mostra um erro: Ocorreu um erro durante a instalação de componentes do sistema em 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 atualizar componente foi instalado com a seguinte mensagem de erro: "O contrato de atualização automática não será aceito". Falha na instalação os seguintes componentes:-caixa de diálogo Atualizar consentimento
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 no Publicar da página e, em seguida, clique em Publicar agora.
Se a saída de publicar não abrir automaticamente, navegue até 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 caixa de diálogo Atualizar consentimento 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 se há atualizações automaticamente na Internet.
Clique em I Agreee, em seguida, clique em prosseguir.
O aplicativo começa a instalar.
Se for exibida a caixa de diálogo de instalação do aplicativo, clique em instalar.
Consulte também
Tarefas
Como: criar um manifesto de produto
Como: criar um manifesto de pacote
Referência
Referência de esquema de pacote e produto