Pergunta

Eu escrevi um aplicativo e eu gostaria de adicionar um número chave de registro / serial para ele (eu sou grande em inconvinience mínimo - ala # 4 em este artigo Eric Sink). Minha pergunta é sobre onde armazenar a "activação" uma vez que o pedido tenha sido registrado. Pelo que entendi, eu tenho um trade-off entre a armazenar a chave em um lugar público, onde todos os usuários podem ler (mas que requer direitos de administrador para salvar lá) e armazenar uma ativação por usuário (mas, em seguida, cada usuário no computador terá que ativar de forma independente). Isso me dá duas opções:

  1. Alguns usuário, com direitos de administrador local, ativa o produto. A ativação é armazenada em HKLM, no programa pasta de arquivos, ou em outro lugar onde todos os usuários podem lê-lo, e o produto é ativado para todos os usuários.
  2. Um usuário (com ou sem direitos de administrador) ativa o produto. A activação é armazenada algures utilizador centrada (app por utilizador, HKCU, etc). A vantagem é que o usuário não tem que ser um administrador. A desvantagem é que, se existem 6 usuários que usam o computador, cada um tem para ativar o produto. Eles podem, cada re-utilizar a mesma série, mas eles ainda têm de entrar.

Esta é realmente a trade-off? Se for, o que outras pessoas fizeram? Como um desenvolvedor, eu estou acostumado a pessoas sendo um administrador local, mas no mundo real, eu não espero que muitos dos meus usuários corporativos para ser administradores locais, o que me faz inclinar-se para a opção 2. Você computadores não compartilhou muitas vezes o suficiente para que eu não deveria estar preocupado?

Mais uma vez, eu não estou perguntando sobre como registrar fisicamente um computador - Eu não estou preocupado com isso. Eu só vou soma de verificação a chave fornecida e dar o seu aval, como eu quero ser como não-invasiva possível.

Foi útil?

Solução

Eu recomendaria uma solução que não requer direitos de administrador. Muitos usuários, especialmente em ambientes compartilhados, não terá esses direitos e não será capaz de encontrar alguém com eles convenientemente.

Além disso, vai para a frente de alguns anos, eu acho que vai ser cada vez mais raro ter direitos de administrador no computador que você está usando, como a situação de segurança melhore.

Outras dicas

Registro parece ser uma solução bem para software de negócios. Pelo menos onde eu costumava trabalhar, usuário regular não será um administrador do computador local, de modo que cada instalação exigirá conta de administrador local. Isso é uma coisa boa, uma vez que irá diminuir a dor de cabeça de sua equipe de apoio de pessoas que instalam a praticamente tudo em seu ambiente de computação empresarial. O trade off é, claro, o usuário será chateado que eles não podem instalar outras coisas ou tem que contatar suporte para fazê-lo, mas hey ...:)

Outros materiais:

  • USB / outro tipo de dongle (ala velha 3DMax)
  • simples arquivo de texto de idade (ala Garmin GPS software no dispositivo móvel)
  • codificá-los / reescrever a chave na seu binário ou parte do seu binário (Fez este truque para trás no th velho DOS dias)
  • armazená-los em seu próprio db via web (ala EverQuest / outros jogos MMORPG)
  • db chave local (ala MathLab eu acho)

Que tal usar o storrage isolado para sua aplicação?

Você terá a capacidade de armazenar essas informações em um nível mashiene para o seu registo, e as mudanças de configuração podem ser persistido em um nível de usuário.

Nós salvar o nosso código de ativação para o registro para o usuário atual (HKCU) temos tido muito pouco problemas com ele. Nossos clientes correr em tudo, desde computadores domésticos para thin clients em cooperar redes.

Se o seu software será usado em escolas ou outros ambientes educacionais que você precisa fornecer algum outro método. Poderia ser tão simples como um pedido de registro separado, que irá poupar à ativação para todos os usuários. Seu software teria que fazer duas pesquisas de registro, mas que é um pequeno preço a pagar.

Em geral, a maioria dos computadores são usados ??por um único usuário (ou várias pessoas que ainda usam a mesma conta de usuário). Assim, um armazenamento baseado usuário irá trabalhar a maior parte do tempo de qualquer maneira.

No entanto, não é ou / ou. Existem locais de pastas que são graváveis ??por todos os usuários - como a ProgramData pasta. A chave é fazer com que o arquivo legível / gravável por todos para que você possa verificar o conteúdo independentemente do usuário.

DeployLX Licenciamento faz isso para dados de licença não seguras para que ele possa ser usado por vários usuários sem um administrador conceder permissão explicitamente.

Você deve ser consistente. Se direitos de administrador foram obrigados a instalar o programa, não é fora de linha para exigir direitos de administrador para registrá-lo. Da mesma forma, se você de alguma forma conseguiu instalá-lo sem direitos de administrador, em seguida, registrá-lo sem também.

Se você instalar e registrar em uma etapa este não será um problema.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top