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

ClickOncepode fornecer atualizações de aplicação automática. A ClickOnce aplicativo periodicamente lê seu arquivo de manifesto de implantação para ver se há atualizações para o aplicativo disponíveis. Se estiver disponível, a nova versão do aplicativo é baixada e executada. Para maior eficiência, somente os arquivos que foram alterados são baixados.

Quando estiver criando um ClickOnce aplicativo, você precisará determinar qual estratégia o aplicativo utilizará para verificar se há atualizações disponíveis. Há três estratégias básicas que você pode usar: Verificando as atualizações na inicialização do aplicativo, verificando as atualizações após a inicialização do aplicativo (executando em um segmento de plano de fundo) ou fornecer uma interface de usuário para atualizações.

Além disso, você pode determinar a freqüência na qual o aplicativo irá verificar atualizações, e você pode fazer atualizações necessárias.

ObservaçãoObservação

Atualizações de aplicativos requerem conectividade de rede. Se não houver uma conexão de rede, o aplicativo será executado sem verificar por atualizações, independentemente da estratégia de atualização que você escolher.

ObservaçãoObservação

No.NET Framework 2.0 e.NET Framework 3.0, sempre que as verificações de aplicativo para atualizações, antes ou após a inicialização ou usando o System.Deployment.Application APIs, você deve definir deploymentProvider no manifesto de implantação. O deploymentProvider elemento correspondente no Visual Studio para o Atualizar local campo o atualizações caixa de diálogo da Publicar guia. 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.

Verificando as atualizações após a inicialização do aplicativo

Utilizando esta estratégia, a aplicação tentará localizar e ler o arquivo de manifesto da distribuição em segundo plano, enquanto a aplicação é executada. Se uma atualização estiver disponível, na próxima vez que o usuário executa o aplicativo, ele será solicitado a baixar e instalar a atualização.

Essa estratégia funciona melhor para conexões de baixa largura de banda de rede ou para aplicativos maiores que podem exigir a fazer longos downloads.

Para habilitar essa estratégia de atualização, clique em após o aplicativo inicia na Escolha quando o aplicativo deve verificar as atualizações seção a Atualizações de aplicativos caixa de diálogo. Em seguida, especifique um intervalo de atualização na seção especificar a freqüência com que o aplicativo deve verificar atualizações.

Este é o mesmo que alterar o atualização elemento na implantação do manifesto da seguinte maneira:

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

Verificando as atualizações antes da inicialização do aplicativo

A estratégia padrão é tentar localizar e ler o arquivo de manifesto de implantação antes que o aplicativo for iniciado. Utilizando esta estratégia, a aplicação tentará localizar e ler o arquivo de manifesto da distribuição toda vez que o usuário iniciar a aplicação. Se uma atualização estiver disponível, ele será baixado e iniciado; Caso contrário, a versão existente do aplicativo será iniciada.

Essa estratégia funciona melhor para conexões de rede de alta largura de banda; o atraso na inicialização do aplicativo pode ser inaceitavelmente longo através de conexões de largura de banda baixa.

Para habilitar essa estratégia de atualização, clique em antes que o aplicativo for iniciado na Escolha quando o aplicativo deve verificar as atualizações seção a Atualizações de aplicativos caixa de diálogo. Para obter mais informações, consulte Caixa de diálogo de atualizações do aplicativo.

Este é o mesmo que alterar o atualização elemento na implantação do manifesto da seguinte maneira:

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

Fazer as atualizações necessárias

Pode haver ocasiões quando desejar solicitar aos usuários executar uma versão atualizada do seu aplicativo. Por exemplo, você talvez faça uma alteração num recurso externo como um serviço Web que impediria que a versão anterior do seu aplicativo  funcionasse corretamente. Nesse caso, você deseja marcar a sua atualização, conforme necessário e evitar que usuários executem a versão anterior.

ObservaçãoObservação

Embora você pode exigir atualizações usando outras estratégias de atualização, verificando antes do aplicativo for iniciado é a única maneira de garantir que uma versão mais antiga não pode ser executada. Quando a atualização obrigatória for detectada na inicialização, o usuário deve aceitar a atualização ou feche o aplicativo.

Para marcar uma atualização como requerido, clique em especificar uma versão mínima necessária para este aplicativo na Aplicativo atualiza diálogo caixa e, em seguida, especifique a versão de publicação (principais, secundária, Build, Revisão), que especifica o menor número de versão do aplicativo que pode ser instalado. Para obter mais informações, consulte Caixa de diálogo de atualizações do aplicativo.

Esta é a mesma configuração de minimumRequiredVersion atributo da implantação elemento no manifesto de implantação; Por exemplo:

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

Especificando os 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 que o aplicativo verificar atualizações após a inicialização conforme descrito em "Verificação de atualizações após a inicialização do aplicativo" anteriormente neste tópico.

Para especificar o intervalo de atualização, defina a especificar a freqüência com que o aplicativo deve verificar atualizações propriedades o Atualizações de aplicativos caixa de diálogo. Para obter mais informações, consulte Caixa de diálogo de atualizações do aplicativo.

Esta é a mesma configuração de maximumAge e unidade atributos da atualização elemento no manifesto de implantação.

Por exemplo, convém verificar cada vez que o aplicativo ser executado ou uma vez por semana, ou uma vez por mês. Se não houver uma conexão de rede no horário especificado, a verificação de atualização é executada na próxima vez que o aplicativo é executado.

Fornecer uma Interface de usuário para atualizações

Ao usar essa estratégia, o desenvolvedor do aplicativo fornece uma interface de usuário que permite que o usuário escolha quando ou a freqüência na qual o aplicativo irá verificar atualizações. Por exemplo, você poderá fornecer uma "verificação de atualizações agora" comando ou um "atualizar configurações" caixa de diálogo com opções para os intervalos de atualização diferente. O ClickOnce atualizar a implantação de APIs fornecem uma estrutura para a programação de sua própria interface do usuário. Para obter mais informações, consulte o System.Deployment.Application namespace.

Se o seu aplicativo usa implantação APIs para controlar sua própria lógica de atualização, você deve bloquear atualização verificação conforme descrito em "Bloqueio Update verificação" na seção a seguir.

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

Bloqueando a verificação de atualização

Também é possível impedir que seu aplicativo nunca verificando as atualizações. Por exemplo, talvez você tenha um aplicativo simples do que nunca será atualizado, mas desejar tirar proveito da facilidade de instalação fornecer por ClickOnce implantação.

Você também deve bloquear atualização verificando se o aplicativo usa implantação APIs para executar suas próprias atualizações; consulte "Fornecendo uma Interface para atualizações do usuário" anteriormente neste tópico.

Para bloquear a verificação de atualização, desmarque o o aplicativo deve verificar as atualizações caixa de seleção de Caixa de diálogo de atualizações do aplicativo.

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

Atualizações e a elevação de permissões

Se uma nova versão de um ClickOnce aplicativo requer um alto nível de confiança de que a versão anterior, a ClickOnce solicitará que o usuário, pedindo que ele se ele deseja que o aplicativo a ser concedido a esse nível mais alto de confiança. Se o usuário recusar conceder o nível mais alto de confiança, não instalará a atualização. ClickOncesolicitará ao usuário para instalar o aplicativo novamente quando for reiniciado em seguida. Se as recusas de usuário para conceder o nível mais alto de confiança neste momento e a atualização não está marcado como necessário, a versão antiga do aplicativo será executado. No entanto, se a atualização é necessária, o aplicativo não será executado novamente até que o usuário aceitar o maior nível de confiança.

Nenhum aviso para os níveis de confiança ocorrerá se você usar a 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

How to: Gerenciar atualizações para um aplicativo de ClickOnce

Referência

Caixa de diálogo de atualizações do aplicativo

System.Deployment.Application

Conceitos

ClickOnce Segurança e implantação

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

Protegendo aplicativos de ClickOnce

Escolhendo uma estratégia de implantação

Como o ClickOnce executa atualizações de aplicativos