Por que meu aplicativo de clique único, assinado, diz que tem um editor desconhecido
Eu quero criar um aplicativo que seja fácil de instalar. O processo de instalação é bastante complexo (muitas permissões, regras de firewall, serviços, etc.). Então, decidi escrever o programa de instalação em C # (.net 4) e, em seguida, tornar o próprio programa de instalação uma instalação de clique único.
A idéia era que o usuário acessasse o site, clique em instalar, meu programa de instalação seria instalado em seu computador clicando uma vez e depois rodaria, configurando o programa principal.
Para tornar isso um processo fácil, obviamente tive que assinar todos os executáveis. Eu comprei um certificado de assinatura de código Comodo, instalei-o no meu armazenamento de certificados e marquei "Assinar os manifestos do Click Once" no VS Express 2012. Eu também incluí uma etapa de pós-compilação que executou
SIGNTOOL.EXE sign /f TrumphurstCodeCertificate.pfx /p <my password> TimeClockSetup.exe
Limpei tudo da minha pasta de criação e do site de implantação e executei uma compilação limpa.
Eu verifiquei as propriedades do executável na pasta de compilação e foi mostrado como publicado por mim.
Publiquei o programa no site, iniciei outro computador com Windows 8, naveguei para o site e cliquei no botão Instalar.
Fui solicitadoDo you want to run or save setup.exe
e selecionado executar.
Então eu fui solicitadosetup.exe is not commonly downloaded and could harm your computer
- eu cliquei em Actions, e ele disseThis program might harm your computer
. Dizia que a editora era Trumphurst Ltd e me deu a opção de rodar de qualquer jeito, o que eu cliquei.
Então eu peguei"Open File - Security Warning", for ".....\TimeClockSetup.exe", "Publisher: Unknown Publisher"
.
Como é que o exe mostrou comoUnknown publisher
?
Eu naveguei para o exe no diretório de dados do usuário em que ele tinha sido instalado e nenhuma guia "Digital Signatures" foi mostrada na caixa de diálogo Properties.
No entanto, se eu procurar o exe na minha pasta de compilação, ele tem uma assinatura.
[Mais tarde] Lembro-me de ler em algum lugar que algumas partes do processo de compilação ou publicação usam o arquivo exe na pasta obj, em vez daquele na pasta de saída da compilação, então adicionei a assinatura às etapas de compilação do post - não fez diferença.