Compartilhar via


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

ClickOnce pode fornecer automático aplicativo atualizações. A ClickOnce periodicamente, o aplicativo lê seu arquivo de manifesto de implantação para ver se há atualizações para o aplicativo disponível. 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.

Ao projetar um ClickOnce aplicativo, você deve determinar qual estratégia o aplicativo utilizará para verificar se há atualizações disponível. Há três estratégias básicas que você pode usar: Verificando as atualizações na inicialização do aplicativo, verificando se há atualizações após a inicialização do aplicativo (em execução em um plano de fundo thread), ou fornecendo uma interface de usuário para as atualizações.

Além disso, você pode determinar a freqüência com que o aplicativo fará as buscas por atualizações, e você pode fazer atualizações necessárias.

Observaçã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ção:

No .NET estrutura 2.0 e no .NET estrutura 3.0, qualquer time seu aplicativo verifica se há atualizações, antes ou depois da inicialização, ou Por usando o System.Deployment.Application APIs, você deve conjunto deploymentProvider no manifesto de implantação. The deploymentProvider elemento correspondente no Visual Studio para o Atualizar local campo o Atualizações caixa de diálogo do Publicar guia.Essa regra é relaxada no .NET estrutura 3.5.Para obter mais informações, consulte Implantando aplicativos ClickOnce sem desistir.

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

Usando essa estratégia, o aplicativo tentará localizar e ler o arquivo de manifesto de implantação em segundo plano enquanto o aplicativo é executado.Se uma atualização estiver disponível, a próxima time 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 rede de baixa largura de banda ou para aplicativos maiores que podem exigir fazer longos downloads.

Para ativar essa estratégia de atualização, clicar Depois que o aplicativo for iniciado in the escolher quando o aplicativo deve verificar as atualizações o seçãoAtualizações de aplicativo caixa de diálogo.Em seguida, especifique um intervalo de atualização na seção Especifique a freqüência com a qual o aplicativo deve verificar as atualizações.

Isso é semelhante a alterar o Atualização elemento na implantação de manifesto da seguinte maneira:

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

Verificando se há 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 de inicia o aplicativo.Usando essa estratégia, o aplicativo tentará localizar e ler o arquivo de manifesto de implantação sempre que o usuário inicia o aplicativo.Se uma atualização estiver disponível, ele será baixado e iniciado; caso contrário, a versão existente do aplicativo poderá 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 em conexões de baixa largura de banda.

Para ativar essa estratégia de atualização, clicar Antes do início do aplicativo in the escolher quando o aplicativo deve verificar as atualizações o seçãoAtualizações de aplicativo caixa de diálogo.Para obter mais informações, consulte Caixa de diálogo das atualizações de aplicativo.

Isso é semelhante a alterar o Atualização elemento na implantação de manifesto da seguinte maneira:

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

Fazer atualizações necessárias

Pode haver ocasiões em que deseja exigir que os usuários executem uma versão atualizada do seu aplicativo.Por exemplo, você pode fazer uma alterar para um recurso externo, sistema autônomo um serviço Web que impediria a versão anterior do seu aplicativo funcione corretamente.Nesse caso, você pode ser necessário marcar sua atualização conforme necessário e impedir que sistema autônomo usuários executem a versão anterior.

Observação:

Embora Você pode exigir atualizações usando as outras estratégias de atualização, verificando Antes do início do aplicativo é a única maneira de garantir que não é possível executar uma versão mais antiga.Quando a atualização obrigatória for detectada na inicialização, o usuário deve aceitar a atualização ou fechar o aplicativo.

Para marcar uma atualização sistema autônomo necessário, clicar Especifique uma versão mínima necessária para este aplicativo in the Atualizações de aplicativo diálogo caixa e, em seguida, especifique a versão de publicar (Principais, Secundária, Compilação, Revisão), que especifica o número de versão menor do aplicativo que pode ser instalado.Para obter mais informações, consulte Caixa de diálogo das atualizações de aplicativo.

Essa é a mesma sistema autônomo definindo o minimumRequiredVersion atributo de do Implantação elemento no manifesto de implantação; por exemplo:

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

Especificar 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 a verificação de aplicativo de atualizações após a inicialização sistema autônomo descrito em "Verificação de atualizações após Application Startup", anteriormente neste tópico.

Para especificar o intervalo de atualização, defina o Especifique a freqüência com a qual o aplicativo deve verificar as atualizações Propriedades o Atualizações de aplicativo caixa de diálogo.Para obter mais informações, consulte Caixa de diálogo das atualizações de aplicativo.

Isso é o mesmo que definir o maximumAge and unidade atributos de do Atualização elemento no manifesto de implantação.

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

Fornecendo 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 ao usuário escolher a freqüência ou quando o aplicativo verificará se há atualizações.Por exemplo, você poderá fornecer um comando "Verificar para atualizações agora" ou uma caixa de diálogo "Configurações de atualização" que tem opções para intervalos de atualização diferente.The ClickOnce implantação APIs fornecem uma estrutura de programação a própria atualização da interface do usuário. Para obter mais informações, consulte o System.Deployment.Application espaço para nome.

Se seu aplicativo usa sistema autônomo APIs de implantação para controlar sua própria lógica de atualização, você deve bloco atualizar verificando descrita em "ndo bloco Update verificação" na seção a seguir.

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

Bloqueio de verificação de atualização

Também é possível impedir que seu aplicativo nunca verificar atualizações.Por exemplo, você pode ter um aplicativo simples que nunca será atualizado, mas você deseje tirar proveito da facilidade de instalação fornecem, ClickOnce implantação.

Você também deve bloco atualização verificando se o seu aplicativo utiliza APIs de implantação para executar suas próprias atualizações; consulte "Fornecendo um atualizações da interface do usuário para" anteriormente neste tópico.

Para bloco verificação de atualização, desmarcar o O aplicativo deve verificar as atualizações caixa de seleção a Caixa de diálogo das atualizações de aplicativo.

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

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

Se uma nova versão de um ClickOnce aplicativo requer um nível mais alto de confiança para que a versão anterior, ClickOnce será aviso o usuário, pedindo que ele se ele deseja que o aplicativo para ser concedidas a este nível mais alto de confiança. Se o usuário recusar conceder o nível mais alto de confiança, a atualização não será instalado.ClickOnce solicitará que o usuário para instalar o aplicativo novamente quando for reiniciado em seguida. Se o usuário diminui para conceder o nível mais alto de confiança neste momento e a atualização não está marcado sistema autônomo 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 níveis de confiança ocorrerá se você usar a implantação de aplicativos confiáveis.Para obter mais informações, consulte Confiável aplicativo implantação visão geral.

Consulte também

Tarefas

Como: Gerenciar atualizações para um aplicativo ClickOnce

Conceitos

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

Implantação ClickOnce e segurança

Escolhendo uma estratégia de implantação

Como o ClickOnce executa aplicativo atualizações

Referência

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

System.Deployment.Application

Outros recursos

Implantação de ClickOnce para aplicativos de formulários do Windows

Implantação do ClickOnce