Escolhendo uma estratégia de atualização de ClickOnce

ClickOnce pode fornecer atualizações automáticas do aplicativo.Um aplicativo de ClickOnce periodicamente ler o arquivo de manifesto de implantação para ver se as atualizações do aplicativo estão disponíveis.Se disponível, a nova versão do aplicativo é baixado e execução.Para eficiência, somente os arquivos que foram alterados são baixados.

A o criar um aplicativo de ClickOnce , você precisa determinar qual estratégia o aplicativo usará para verificar se há atualizações disponíveis.há três estratégias básicas que você pode usar: verifique para ver se há atualizações na inicialização do aplicativo, verificando para ver se há atualizações após inicialização do aplicativo (que é executado em um segmento de plano), ou fornecer uma interface de usuário para atualizações.

Além de isso, você pode determinar como geralmente o aplicativo irá ver se há atualizações, e você pode fazer as atualizações necessárias.

ObservaçãoObservação

As atualizações de aplicativos requerem a conectividade de rede.Se uma conexão de rede não está presente, o aplicativo será executado sem verificar se há atualizações, independentemente da estratégia de atualização que você escolher.

ObservaçãoObservação

Em o .NET Framework 2,0 e no .NET Framework 3,0, quando seu aplicativo verifica se há atualizações, antes ou após a inicialização, ou usando APIs de System.Deployment.Application , você deve definir deploymentProvider no manifesto de implantação.O elemento de deploymentProvider corresponde no Visual Studio para o campo de Local de atualização na caixa de diálogo de Atualizações da guia de Publicar .Essa regra é relaxada no .NET Framework 3,5.Para obter mais informações, consulte A implantação de aplicativos de ClickOnce para teste e servidores de produção sem desistir.

Verificar se há atualizações após a inicialização do aplicativo

Usando essa estratégia, o aplicativo irá tentar localizar e ler o arquivo de manifesto de implantação em segundo plano quando o aplicativo é executado.Se uma atualização estiver disponível, a próxima vez que o usuário executa o aplicativo, será solicitado para baixar e instalar a atualização.

Essa estratégia funciona melhor para conexões de rede inferior da largura de banda ou para aplicativos maiores que podem exigir downloads longa.

Para ativar essa estratégia de atualização, clique Após a inicialização do aplicativo na seção de Escolha esta opção quando for preciso que o aplicativo busque por atualizações da caixa de diálogo de Atualizações do Aplicativo .Especifique um intervalo de atualização na seção Especificar como freqüentemente o aplicativo deve verificar se há atualizações.

Esse é o mesmo que alterando o elemento de Atualizar no manifesto de implantação da seguinte maneira:

   <!-- When to check for updates -->
   <subscription>
      <update>
         <expiration maximumAge="6" unit="hours" />
      </update>
   </subscription>

Verificar se há atualizações antes de inicialização do aplicativo

A estratégia padrão é tentar localizar e ler o arquivo de manifesto de implantação antes que o aplicativo é iniciado.Usando essa estratégia, o aplicativo irá tentar localizar todas as vezes e ler o arquivo de manifesto de implantação que o usuário inicia o aplicativo.Se uma atualização estiver disponível, será baixado e iniciada; caso contrário, a versão existente do aplicativo será iniciada.

Essa estratégia funciona melhor para conexões de rede altas de largura de banda; o atraso em iniciar o aplicativo pode ser inaceitàvel longo sobre conexões de baixa largura de banda.

Para ativar essa estratégia de atualização, clique Antes a inicialização do aplicativo na seção de Escolha esta opção quando for preciso que o aplicativo busque por atualizações da caixa de diálogo de Atualizações do Aplicativo .

Esse é o mesmo que alterando o elemento de Atualizar no manifesto de implantação da seguinte maneira:

   <!-- When to check for updates -->
   <subscription>
      <update>
         <beforeApplicationStartup />
      </update>
   </subscription>

Fazendo as atualizações necessárias

Pode haver ocasiões em que você deseja exigir que os usuários executar uma versão atualizada do seu aplicativo.Por exemplo, você pode fazer uma alteração para um recurso externo tal como um serviço da Web que impedisse que a versão anterior do seu aplicativo funcionar corretamente.Em esse caso, você deve marcar conforme necessário para sua atualização e impedir que os usuários executarem a versão anterior.

ObservaçãoObservação

Embora você possa exigir atualizações usando as outras estratégias de atualização, verifique Antes a inicialização do aplicativo é a única maneira de garantir que uma versão anterior não pode ser executada.Quando a atualização imperativa for detectado na inicialização, o usuário deve aceitar a atualização ou feche o aplicativo.

Para marcar como necessário uma atualização, clique Especifique uma versão mínima obrigatória para este aplicativo na caixa de diálogo de Atualizações do Aplicativo , e então especifique a versão de publicação (Principal, Secundária, Compilar, Revisão), que especifica o menor número de versão do aplicativo que pode ser instalado.

Esse é o mesmo que definindo o atributo de minimumRequiredVersion do elemento de Implantação no manifesto de implantação; por exemplo:

   <deployment install="true" minimumRequiredVersion="1.0.0.0">

Especificando intervalos de atualização

Você também pode especificar a freqüência com que o aplicativo verifica se há atualizações.Para fazer isso, especifique a verificação do aplicativo para atualizações após a inicialização como descrito em “verificar se há atualizações após a inicialização do aplicativo” anteriormente em este tópico.

Para especificar o intervalo de atualização, defina as propriedades de Especificar como freqüentemente o aplicativo deve verificar se há atualizações na caixa de diálogo de Atualizações do Aplicativo .

Este é o mesmo que definir maximumAge e de unidade os atributos do elemento de Atualizar na implantação manifestam.

Por exemplo, convém verificar cada vez que o aplicativo é executado, ou uma vez a um, semana ou um mês uma vez.Se uma conexão de rede não está presente nos momentos especificados, a verificação de atualização é executada na próxima vez que o aplicativo é executado.

Fornecendo uma interface de usuário para atualizações

A o usar essa estratégia, o desenvolvedor do aplicativo fornece uma interface do usuário que permite ao usuário escolher quando ou a freqüência com que o aplicativo irá ver se há atualizações.Por exemplo, você pode fornecer “verificar se há atualizações agora” comandos, ou “de uma caixa de diálogo de configurações atualização” que tem opções diferentes para intervalos de atualização.APIs de implantação de ClickOnce fornece uma estrutura para programar sua própria interface de usuário de atualização.Para obter mais informações, consulte o namespace de System.Deployment.Application.

Se seu aplicativo usa APIs de implantação para controlar sua própria lógica de atualização, você deve bloquear a atualização que verifica como descrito na atualização bloqueio que verifica” na seção a seguir.

Essa estratégia funciona melhor quando você precisa estratégias diferentes de atualização para usuários diferentes.

Bloqueando verificação de atualização

Também é possível impedir que seu aplicativo nunca para verificar atualizações.Por exemplo, você pode ter um aplicativo simples que foi atualizado nunca, mas você deseja aproveitar a facilidade de instalação fornece a implantação de ClickOnce .

Você também deve bloquear a atualização que verifica se seu aplicativo usa APIs de implantação para executar atualizações; suas próprias consulte “fornecer uma interface de usuário para as atualizações” anteriormente em este tópico.

Para bloquear a atualização de verificação, desmarque a caixa de seleção de O aplicativo deve buscar por atualizações na caixa de diálogo de atualizações do aplicativo.

Você também pode bloquear a atualização que verifica remover a marca de <Subscription> de manifesto de implantação.

Elevação e atualizações de permissão

Se uma nova versão de um aplicativo de ClickOnce requer um nível mais alto nível de confiança executar que a versão anterior, ClickOnce solicitará que o usuário, perguntando se você quer que o aplicativo seja concedido isso de alto nível de confiança.Se o usuário diminui conceder o nível de confiança mais alto, a atualização não instalado.ClickOnce solicitará que o usuário para instalar novamente quando o aplicativo for reiniciado em seguida.Se o usuário diminui conceder no momento de alto nível de confiança, e a atualização não é marcada como necessário, a versão antiga do aplicativo será executado.Em o entanto, se a atualização é necessária, o aplicativo não será executado novamente até que o usuário aceita o nível de confiança mais alto.

Nenhum alerta para níveis de confiança ocorrerá se você usar implantação de aplicativos confiáveis.Para obter mais informações, consulte Visão geral sobre implantação de aplicativos confiáveis.

Consulte também

Tarefas

Como: gerenciar atualizações para um aplicativo de ClickOnce

Referência

System.Deployment.Application

Conceitos

Implantação e segurança de ClickOnce

Escolhendo uma estratégia de implantação de ClickOnce

Proteção de aplicativos de ClickOnce

Escolhendo uma estratégia de implantação

Como o ClickOnce executa atualizações de aplicativos