Gerenciar atualizações para um aplicativo ClickOnce

Aplicativos ClickOnce podem verificar se há atualizações automática ou programaticamente. Como desenvolvedor, você tem muita flexibilidade para especificar quando e como as verificações de atualização são executadas, se elas são obrigatórias e onde o aplicativo deve verificar se há atualizações.

Você pode configurar o aplicativo para verificar se há atualizações automaticamente antes de ser iniciado ou em intervalos definidos após seu início. Além disso, você pode especificar uma versão mínima necessária, ou seja, uma atualização será instalada se a versão do usuário for inferior à necessária.

Você pode configurar o aplicativo para verificar se há atualizações programaticamente com base em um evento, como uma solicitação de usuário. O procedimento "Para verificar se há atualizações programaticamente" neste tópico mostra como você escreveria código que usa a classe ApplicationDeployment para verificar se há atualizações com base em um evento.

Observação

A classe ApplicationDeployment e as APIs no namespace System.Deployment.Application não têm suporte no .NET Core e no .NET 5 e versões posteriores. No .NET 7, há suporte para um novo método de acesso às propriedades de implantação de aplicativos. Para obter mais informações, consulte Acessar propriedades de implantação do ClickOnce no .NET. O .NET 7 não oferece suporte ao equivalente aos métodos ApplicationDeployment.

Você também pode implantar o aplicativo de um local e atualizá-lo de outro. Confira o procedimento "Para especificar um local de atualização diferente".

Para obter mais informações, confira Escolhendo uma estratégia de atualização do ClickOnce.

O comportamento de atualização é gerenciado na caixa de diálogo Atualizações do Aplicativo, disponível na página Publicar do Designer de Projeto.

Para verificar se há atualizações antes do início do aplicativo

  1. Com um projeto selecionado no Gerenciador de Soluções, no menu Projeto, clique em Propriedades.

  2. Clique na guia Publicar.

    Observação

    No ClickOnce para .NET Core 3.1 e .NET 5 ou posterior, você define propriedades de implantação usando a ferramenta Publicar, em vez do Assistente de Publicação, e a página Publicar do Designer de Projeto. Para obter mais informações, confira Implantar um aplicativo .NET do Windows usando ClickOnce e ClickOnce para .NET.

  3. Clique no botão Atualizações para abrir a caixa de diálogo Atualizações do Aplicativo.

  4. Na caixa de diálogo Atualizações do Aplicativo, verifique se a caixa de seleção O aplicativo deve verificar se há atualizações está marcada.

  5. Na seção Escolher quando o aplicativo deve verificar se há atualizações, selecione Antes do aplicativo ser iniciado. Isso garante que usuários conectados à rede sempre executem o aplicativo com as atualizações mais recentes.

Para verificar atualizações em segundo plano, depois que o aplicativo é iniciado

  1. Com um projeto selecionado no Gerenciador de Soluções, no menu Projeto, clique em Propriedades.

  2. Clique na guia Publicar.

  3. Clique no botão Atualizações para abrir a caixa de diálogo Atualizações do Aplicativo.

  4. Na caixa de diálogo Atualizações do Aplicativo, verifique se a caixa de seleção O aplicativo deve verificar se há atualizações está marcada.

  5. Na seção Escolher quando o aplicativo deve verificar se há atualizações, selecione Após o aplicativo ser iniciado. O aplicativo será iniciado mais rapidamente dessa maneira e, em seguida, verificará se há atualizações em segundo plano e notificará o usuário apenas quando uma atualização estiver disponível. Após instaladas, as atualizações não entrarão em vigor até que o aplicativo seja reiniciado.

  6. Na seção Especificar com que frequência o aplicativo deve verificar se há atualizações, selecione Verificar sempre que o aplicativo for executado (o padrão) ou Verificar a cada e insira um número e intervalo de tempo.

Observação

No ClickOnce para .NET Core e .NET 5 ou posterior, essa tarefa não tem suporte. Para obter mais informações, confira ClickOnce para .NET.

Para especificar a versão mínima necessária para o aplicativo

  1. Com um projeto selecionado no Gerenciador de Soluções, no menu Projeto, clique em Propriedades.

  2. Clique na guia Publicar.

  3. Clique no botão Atualizações para abrir a caixa de diálogo Atualizações do Aplicativo.

  4. Na caixa de diálogo Atualizações do Aplicativo, verifique se a caixa de seleção O aplicativo deve verificar se há atualizações está marcada.

  5. Marque a caixa de seleção Especificar uma versão mínima necessária para este aplicativo e insira os números Principal, Secundário, de Build e de Revisão do aplicativo.

Para especificar um local de atualização diferente

  1. Com um projeto selecionado no Gerenciador de Soluções, no menu Projeto, clique em Propriedades.

  2. Clique na guia Publicar.

  3. Clique no botão Atualizações para abrir a caixa de diálogo Atualizações do Aplicativo.

  4. Na caixa de diálogo Atualizações do Aplicativo, verifique se a caixa de seleção O aplicativo deve verificar se há atualizações está marcada.

  5. No campo Local de atualização, insira o local de atualização com uma URL totalmente qualificada, usando o formato http://Hostname/ApplicationName, ou um caminho UNC usando o formato \\Server\ApplicationName, ou clique no botão Procurar para procurar o local de atualização.

Para verificar se há atualizações programaticamente

  1. Com um projeto selecionado no Gerenciador de Soluções, no menu Projeto, clique em Propriedades.

  2. Clique na guia Publicar.

  3. Clique no botão Atualizações para abrir a caixa de diálogo Atualizações do Aplicativo.

  4. Na caixa de diálogo Atualizações do Aplicativo, verifique se a caixa de seleção O aplicativo deve verificar se há atualizações está desmarcada. (Você também pode marcar essa caixa de seleção para verificar se há atualizações programaticamente e permitir que o runtime do ClickOnce verifique se há atualizações automaticamente.)

  5. No campo Local de atualização, insira o local de atualização com uma URL totalmente qualificada, usando o formato http://Hostname/ApplicationName, ou um caminho UNC usando o formato \\Server\ApplicationName, ou clique no botão Procurar para procurar o local de atualização. O local de atualização é onde o aplicativo procurará uma versão atualizada de si mesmo.

  6. Crie um botão, um item de menu ou outro item de interface do usuário em um Formulário do Windows que os usuários selecionarão para verificar se há atualizações. No manipulador de eventos do item, chame um método para verificar e instalar atualizações. Veja um exemplo de código do Visual Basic e do Visual C# para esse método em Como verificar se há atualizações de aplicativos programaticamente usando a API de implantação do ClickOnce.

  7. Compile o aplicativo.