2017-02-03 1 views
5

J'ai un projet VB.Net Visual Studio 2015 qui crée un fichier EXE pour les personnes en interne. Nous n'avons jamais eu besoin de coder le code auparavant, mais avec nos ordinateurs passant à Windows 10, nous recevons des alertes et des avertissements de Windows que le fichier EXE n'est pas approuvé. L'idée a été amenée au code à l'application quand elle est construite.Comment puis-je signer un projet Visual Studio

Actuellement, nous utilisons un programme d'installation InstallShield pour le fichier EXE et ses fichiers. J'ai un certificat de test local et une paire clé privée/clé publique. À ce stade, cependant, je ne sais pas comment coder le signe. J'ai utilisé l'onglet Signature dans les propriétés et les options du projet, mais cela ne signe pas le fichier EXE réel. Au moins, SignTool ne pense pas qu'il est signé. Et nous ne cherchons pas à utiliser ClickOnce pour effectuer cette publication ou ce déploiement.

Ai-je besoin de le faire via une ligne de commande? Ou y a-t-il un endroit Visual Studio pour signer le code?

EDIT:. Je sais que je peux faire un post-scriptum pour ajouter la signature de code, mais je me serais attendu à ce que Visual Studio avait un moyen de mettre cela dans

+0

Bonne question ... Je n'ai jamais compris cela dans l'IDE. J'utilise un appel de compilateur post-construction pour faire le mien. Ou plus exactement, j'appelle une petite application que j'ai écrite pour tout signer dans le dossier des versions. –

+0

C'est ce que j'utilise maintenant, mais j'espère que l'EDI le fera pour moi. Peut-être que non. – CrystalBlue

+0

J'ai abandonné avec l'IDE quand j'ai découvert qu'il signerait des choses .. mais quand vous êtes allé publier, il recompile d'abord et n'a pas démissionné. De plus, j'ai un tas d'autres choses dans la version qui ont également besoin d'être signé, donc c'était une évidence. Cochez la section Propriétés du projet/Compiler/Construire les événements pour vous appeler automatiquement si vous n'êtes pas déjà connecté. –

Répondre

1

Je mets ce qui suit dans le « Post- construire une ligne de commande d'événement 'dans Visual Studio.

"C: \ Program Files (x86) \ Kits Windows \ 10 \ bin \ 10.0.15063.0 \ x64 \ SignTool.exe" signe/v/SHA1 {} $ thumbprint (TargetPath)

« C: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ 10.0.15063.0 \ x64 \ SignTool.exe » horodatage/tr http://timestamp.comodoca.com/rfc3161 $ (TargetPath)

La {} est de thumbprint votre certificat de signature de code, utilisez IE Pour afficher le certificat, sélectionnez l'empreinte et supprimez tous les espaces. Ce est un certificat de signature de code de Comodo (j'ai acheté de http://ksoftware.net/ - meilleur prix et le certificat sont émis par Comodo)

Note: votre emplacement de SignTool.exe peut être différent selon la version du SDK installé et la version Les fenêtres.