Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 3350 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado
Olá, bom dia.
 
Deixo uma contribuição para os fontes ACBr
Inclusão de funcionalidade para registro "automático" de dlls no sistema do cliente.
 
Adicionado em  ACBrNFeConfiguracoes.TCertificadosConf dois novos metodos que juntos ficam responsáveis de copiar os arquivos capicom.dll, msxml5.dll, msxml5r.dll para a pasta de sistema do windows e também realizar o registro das mesmas (tal como é feito com o regsvr32).
 
Classe
  TCertificadosConf
     GetRegistroCapicom : Boolean;
     GetIsAdmin : Boolean; 
 

GetRegistroCapicom
  Realiza o registro das dlls junto ao windows retornando True se caso as mesmas estão registradas (e seja possível acessar os certificados);
  Logo se as dlls forem ou estiverem registradas o Erro Classe Não Registrada não sera exibido e permitira a seleção do certificado.
  Para que este processo seja possível o seu executável precisa estar sendo executado como Administrador (não é o mesmo que estar no grupo de administrador)
  Procedimento faz distinção de sistema 64x32bits.
 
GetIsAdmin
  Retorna verdadeiro caso seu sistema esteja sendo executado como administrador.
  Esta função foi copiada da internet, testei em Windows10, 8, 7 Server 2012, Server 2008. Agradeço se reportarem o funcionamento (ou não) em outros ambientes.
 
 
Sobre as dlls.
 
A função preve a distribuição das mesmas em dois locais junto com seu aplicativo.
 
  %seu aplicativo%\capicom.dll
  %seu aplicativo%\msxml5.dll
  %seu aplicativo%\msxml5r.dll
 
  e
 
  %seu aplicativo%\dll\df\capicom.dll
  %seu aplicativo%\dll\df\msxml5.dll
  %seu aplicativo%\dll\df\msxml5r.dll
 
Elas serão copiadas para as pastas de sistema do windows, seja em 64 ou 32bits (syswow64, system32) .
Utilizei código que funcione na versão mais antiga do delphi que tive acesso, no caso o D2009 agradeço se confirmarem funcionamento em versões mais novas.
 
Exemplo de uso
-Use GetIsAdmin para verificar se está como administrador, caso positivo chame GetRegistroCapicom    
-Exibir imagem/informativo solicitando execução como administrativo (o que utilizei por aqui).
-Testar registro da capicom para habilitar autorização de documentos fiscais.
 
 
Unit está atualizada com o trunk de hoje de manhã.
 

ACBrNFeConfiguracoes.pas

  • Curtir 2
  • Este tópico foi criado há 3350 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.