Criando aplicativos ClickOnce para outros para implantar
Nem todos os desenvolvedores que estão criando as implantações do ClickOnce plano implantar aplicativos próprios.Muitas delas empacotar apenas seus aplicativo usando ClickOnce e, em seguida, transferir sistema autônomo arquivos para um cliente, sistema autônomo uma grande corporação.O cliente torna-se aquele responsável que hospeda o aplicativo em sua rede.Este tópico discute alguns dos problemas inerentes essas implantações nas versões do .NET estrutura anteriores à versão 3.5.Ele descreve, em seguida, uma nova solução fornecida pelo uso do novo recurso "utiliza o manifesto para relação de confiança" no .NET estrutura 3.5.Por fim, ele termina com as estratégias recomendadas para a criação de implantações do ClickOnce para clientes que ainda estiver usando versões antigas do .NET estrutura.
Problemas envolvidos na criação de implantações para clientes
Vários problemas ocorrem quando você planeja fornecer uma implantação de um cliente.A primeira questão está relacionada à assinatura de código.A ser implantado em uma rede, o manifesto de implantação e o manifesto do aplicativo de implantação de ClickOnce devem ambos ser assinados com um certificado digital.Isso aumenta a pergunta sobre se deve usar o certificado de desenvolvedor ou certificado do cliente ao assinar os manifestos.
A pergunta de qual certificado a ser usado é fundamental, assim sistema autônomo a identidade de um aplicativo ClickOnce se baseia a assinatura digital do manifesto de implantação.Se o desenvolvedor assina o manifesto de implantação, ele pode levar a conflitos se o cliente é uma grande empresa e mais de uma divisão da empresa implanta uma versão personalizada do aplicativo.
Por exemplo, digamos que a Adventure Works tem um departamento financeiro e um departamento de recursos humanos.Os dois departamentos licenciar um aplicativo ClickOnce da Microsoft Corporation que gera relatórios dos dados armazenados em um banco de dados SQL.A Microsoft fornece cada departamento com uma versão do aplicativo que é personalizado para seus dados.Se sistema autônomo aplicativos estiverem assinados com o mesmo certificado Autenticode, um usuário que tenta usar sistema autônomo dois aplicativos poderia encontrar um erro, sistema autônomo ClickOnce deve considerar o segundo aplicativo sistema autônomo sendo idênticas do primeiro.Nesse caso, o cliente pode enfrentar imprevisíveis e indesejáveis efeitos colaterais que incluem a perda dos dados armazenados localmente pelo aplicativo.
Um problema adicional relacionado a assinatura de código é de deploymentProvider elemento no manifesto de implantação, que informa ao ClickOnce onde procurar por atualizações de aplicativos. Este elemento deve ser adicionado para o manifesto de implantação antes para assiná-lo.Se este elemento for adicionado posteriormente, o manifesto de implantação deve ser assinado novamente.
Exigir que o cliente para assinar o manifesto de implantação
Uma solução para esse problema de implantações não-exclusivos é ter o sinal do desenvolvedor o manifesto do aplicativo e o cliente entre o manifesto de implantação.Embora essa abordagem funcione, ele apresenta outros problemas.Desde um certificado Authenticode deve permanecer protegido um ativo, o cliente não pode atribuir apenas o certificado ao desenvolvedor para assinar a implantação.Enquanto o cliente pode assinar o manifesto de implantação propriamente ditas, usando ferramentas disponível gratuitamente com o .NET estrutura SDK, isso pode exigir que o cliente está disposto ou capaz de fornecer o conhecimento técnico mais.Em tais casos, o desenvolvedor geralmente cria um aplicativo, site da Web ou Outros mecanismo através do qual o cliente pode enviar sua versão do aplicativo para assinatura.
O impacto do cliente, assinatura de segurança do aplicativo ClickOnce
Mesmo se o desenvolvedor e o cliente concordam que o cliente deve assinar manifesto do aplicativo, isso gera outros problemas que cercam a identidade do aplicativo, especialmente sistema autônomo ela se aplica à implantação de aplicativos confiáveis.(Para obter mais informações sobre esse recurso, consulte Confiável aplicativo implantação visão geral.) Digamos que a Adventure Works deseja configurar seus computadores cliente para que qualquer aplicativo fornecido a ele pela Microsoft Corporation seja executado com confiança total.Se Adventure Works assina o manifesto de implantação, o ClickOnce usará assinatura de segurança do Adventure Work para determinar o nível de confiança do aplicativo.
Criando implantações de clientes com manifesto do aplicativo para confiança
ClickOnce no .NET estrutura 3.5 contém um novo recurso que permite a desenvolvedores e clientes uma nova solução ao cenário de como os manifestos devem ser assinados.O manifesto do aplicativo ClickOnce oferece suporte a um novo elemento chamado <useManifestForTrust> que permite que um desenvolvedor indicar que a assinatura digital do manifesto de aplicativo é o que deve ser usado para tomar decisões de confiança. O desenvolvedor usa ferramentas de empacotamento ClickOnce — sistema autônomo Mage.exe, MageUI.exe e Visual Studio — para incluir este elemento no manifesto do aplicativo, bem sistema autônomo para incorporar o manifesto do seu nome de publicador e o nome do aplicativo.
Ao usar <useManifestForTrust>, o manifesto de implantação não precisa ser assinado com um certificado Authenticode emitido por uma autoridade de certificação. Em vez disso, ele pode ser assinado com o que é conhecido sistema autônomo um certificado auto-assinado.Um certificado auto-assinado é gerado pelo cliente ou o desenvolvedor usando ferramentas padrão do .NET estrutura SDK e, em seguida, aplicado ao manifesto de implantação usando as ferramentas de implantação do ClickOnce padrão.Para obter mais informações, consulte Ferramenta de criação de certificado (Makecert.exe).
Usando um certificado auto-assinado para o manifesto de implantação apresenta diversas vantagens.Eliminando a necessidade do cliente obter ou criar seus próprios certificados Authenticode, <useManifestForTrust> simplifica a implantação para o cliente, permitindo que o desenvolvedor manter sua própria identidade identidade visual no aplicativo. O resultado é um conjunto de implantações assinados que são mais seguros e têm identidades de aplicativos exclusivo.Isso elimina o conflito potencial que pode ocorrer de implantar o mesmo aplicativo para diversos clientes.
Para obter informações passo a passo sobre como criar uma implantação do ClickOnce com <useManifestForTrust> ativado, consulte Demonstra Passo a passo: Implantando um aplicativo ClickOnce que não seja necessário Re-Signing e que preserva informações marcas manualmente.
Aplicativo como manifesto para confiança Works no tempo de execução
Para obter uma melhor compreensão de como funciona a usando o manifesto do aplicativo para confiança no tempo de execução, considere o exemplo a seguir.Um aplicativo ClickOnce que tem como alvo o .NET estrutura 3.5 é criado pela Microsoft.O manifesto do aplicativo usa o <useManifestForTrust> elemento e assinado pela Microsoft. A Adventure Works assina o manifesto de implantação usando um certificado auto-assinado.A Adventure Works clientes são configurados para confiar em qualquer aplicativo assinado pela Microsoft.
Quando um usuário clica em um link para o manifesto de implantação, o ClickOnce instala o aplicativo no computador do usuário.As informações de certificado e a implantação identificar com exclusividade o aplicativo ClickOnce no computador cliente.Se o usuário tenta instalar o mesmo aplicativo novamente de um local diferente, o ClickOnce pode usar esta identidade para determinar que o aplicativo já existe no cliente.
Em seguida, o ClickOnce examina o certificado Authenticode que é usado para assinar o manifesto do aplicativo, que determina o nível de confiança que concede o ClickOnce.Como o Adventure Works tem configurado seus clientes para confiar em qualquer aplicativo assinado pela Microsoft, este aplicativo ClickOnce seja concedido confiança total.Para obter mais informações, consulte Confiável aplicativo implantação visão geral.
Criação de implantações de cliente para versões anteriores
Se um desenvolvedor é a implantação de aplicativos ClickOnce para clientes que usam versões mais antigas do .NET estrutura?As seções a seguir resumem diversas soluções recomendadas, juntamente com as vantagens e desvantagens de cada.
Sinal de implantações em nome de cliente
Uma estratégia de implantação possíveis é para o desenvolvedor criar um mecanismo para assinar as implantações em nome dos seus clientes, usando a chave particular do cliente.Isso impede que o desenvolvedor precisar gerenciar chaves particulares ou vários pacotes de implantação.O desenvolvedor fornece exatamente a mesma implantação para cada cliente.Ele é o cliente para personalizá-lo para seu ambiente usando o serviço de autenticação.
Uma desvantagem desse método é o time e as despesas necessárias para implementá-lo.Enquanto um serviço pode ser montado usando as ferramentas fornecidas no SDK do .NET estrutura, ele irá adicionar mais time de desenvolvimento para o ciclo de vida do produto.
sistema autônomo indicado anteriormente neste tópico, outra desvantagem é que a versão de cada cliente do aplicativo terá a mesma identidade do aplicativo, que pode levar a conflitos.Se esta for uma preocupação, os desenvolvedores podem alterar o campo de nome é usado ao gerar o manifesto de implantação para fornecer um nome exclusivo a cada aplicativo.Isso irá criar uma identidade separada para cada versão do aplicativo e elimine quaisquer conflitos em potencial identidade.Este campo corresponde à -Name argumento para Mage.exe e para o Nome campo o Nome guia MageUI.exe.
Por exemplo, suponhamos que o desenvolvedor tem criar um aplicativo chamado Application1.Em vez de criar uma única implantação com o campo de nome definido para Application1, o desenvolvedor pode criar várias implantações com este nome, sistema autônomo CustomerA Application1, Application1-CustomerB uma variação específicas do cliente e assim por diante.
Implantar usando um pacote de instalação
Uma estratégia de implantação possíveis a segunda é gerar um projeto Microsoft Setup para realizar a implantação inicial do aplicativo ClickOnce.Isso pode ser fornecida em um dos vários formatos diferentes: sistema autônomo uma implantação MSI, sistema autônomo uma configuração executável (.exe) ou sistema autônomo um arquivo de gabinete (.cab) com um script lote.
Usando esta técnica, o desenvolvedor teria forneça ao cliente uma implantação que inclui sistema autônomo arquivos do aplicativo, o manifesto do aplicativo e um manifesto de implantação que serve sistema autônomo um modelo.O cliente poderia executar o programa de instalar, que seria aviso-los para uma URL de implantação (servidor ou local do qual sistema autônomo usuários instalarão o aplicativo ClickOnce do compartilhamento de arquivo), bem sistema autônomo um certificado digital.O aplicativo de instalação também pode escolher solicitar outras opções de configuração do ClickOnce, sistema autônomo intervalo de verificação de atualizações.Depois que essas informações são reunidas, o programa de instalação seria gerar o manifesto de implantação real, assiná-lo e publicar o aplicativo ClickOnce para o local de servidor designado.
Há três maneiras de que o cliente pode assinar o manifesto de implantação nessa situação:
O cliente pode usar um certificado válido emitido por uma autoridade de certificação (CA).
sistema autônomo uma variação dessa abordagem, o cliente pode escolher assinar seu manifesto de implantação com um certificado auto-assinado.A desvantagem isso é que ele fará com que o aplicativo exibir as palavras "publicador desconhecido" quando o usuário é perguntado se deseja instalá-lo.No entanto, a vantagem é que ela impede clientes menores necessidade de gastar time e money necessário para um certificado emitido por uma autoridade de certificação.
Finalmente, o desenvolvedor pode incluir seu próprio certificado auto-assinado no pacote de instalação.Isso apresenta os problemas potenciais com a identidade do aplicativo discutidos neste tópico.
A desvantagem o método de projeto de implantação de instalação é o time e as despesas necessárias para construir um aplicativo de implantação personalizada.
Ter cliente gerar manifesto de implantação
Uma terceira estratégia de implantação possíveis é manualmente apenas os arquivos do aplicativo e manifesto do aplicativo fora do cliente.Nesse cenário, o cliente é responsável por usando o SDK do .NET estrutura para gerar e assinar o manifesto de implantação.
A desvantagem desse método é que ele requer que o cliente para instalar as ferramentas SDK do .NET estrutura e para que um desenvolvedor ou administrador do sistema que é especialista em usá-los.Alguns clientes talvez demandam uma solução que requer pouco ou nenhum esforço técnico de sua parte.
Consulte também
Tarefas
Demonstra Passo a passo: Implantando um aplicativo ClickOnce manualmente