Comment réaliser et déployer une auto-signé ClickOnce manifeste avec Visual Studio 2012

Nous allons obtenir ce hors de la voie... j' :

  • utiliser Visual Studio 2012

  • développer VB.NET applications - la plupart du temps .NET framework 3.5, certains 2.0.

  • utiliser Windows 7 pour le développement (les utilisateurs sont également à l'aide de Windows 7. Il y a un petit nombre d'utilisateurs internes (moins de 40).

J'ai aussi l'intention de dire que je suis nouveau à cela et ne comprennent pas pleinement ce processus. Je ne comprendre les concepts sous-jacents de chiffrement et de hachage/clés, etc., mais je ne peux pas vous dire pourquoi, vous pourriez avoir besoin d'un .cer fichier et pas un .pfx fichier.

Maintenant, alors...

Nous avons une application qui utilise un certificat pour signer son manifeste, qui a travaillé pendant trois (ou plus) années. Nous avons récemment mis à niveau à partir de Visual Studio; 2008 pour Visual Studio 2012, ayant essentiellement sauté de Visual Studio 2010. Quelque part dans ce processus, le certificat est maintenant invalide ou corrompu.

La solution proposée: créez un nouveau compte avec makecert.exe "comme nous l'avons fait la dernière fois". Pas de sens de payer pour un certificat lorsque tous nous en avons besoin pour notre propre petit groupe d'utilisateurs et la petite commodité de ne pas voir que "faites-vous confiance à cet éditeur?" message (je crois?).

Lorsque vous essayez de publier, l'erreur exacte est:

Ne peut pas publier parce qu'un projet n'a pas de construire.

Une erreur s'est produite lors de la signature: impossible de signer
bin\Release\app.publish\setup.exe. SignTool Erreur: Le signataire de l'
le certificat n'est pas valide pour la signature. SignTool d'Erreur: Une erreur
s'est produite lors de la tentative de signe: bin\Release\app.publish\setup.exe

Maintenant, l'article Support Des Certificats Dans Vos Applications Avec Le .NET Framework 2.0 dit:

pour les applications de bureau, vous installez les certificats dans le
magasin d'utilisateur.

Alors, quand je regarde le magasin de l'utilisateur (via MMC avec certificat de composant logiciel enfichable) je vois:

Comment réaliser et déployer une auto-signé ClickOnce manifeste avec Visual Studio 2012

Où la ligne rouge est la VIEILLE/certificat non VALIDE. Un autre est encore écoulée, avec mon nom d'utilisateur c' (2013-06-20).

Quand je vais pour sélectionner à partir de la boutique, je vois ceci:

Comment réaliser et déployer une auto-signé ClickOnce manifeste avec Visual Studio 2012

Comment réaliser et déployer une auto-signé ClickOnce manifeste avec Visual Studio 2012

Et dans le cas où vous êtes curieux, les autres intuitive de la place pour y mettre un de ces regards comme ceci:

Comment réaliser et déployer une auto-signé ClickOnce manifeste avec Visual Studio 2012

Alors, comment puis-je ajouter un autre où la vieille/mal est?

Voici ce que j'ai essayé:

Suivantes ces instructions, j'ai exécuté

makecert -n "CN=TempCA" -r -sv TempCA.pvk TempCA.cer

Maintenant, j'ai un .pvk fichier, et un .cer fichier. Ensuite, j'ai suivi les instructions de la section Pvk2Pfx (Pilotes Windows) et a couru

pvk2pfx.exe -pvk TempCA.pvk -spc TempCA.cer -pfx TempCA.pfx

Maintenant, j'ai un .pfx fichier... (est-ce bien ce dont j'ai besoin?), mais lorsque j'essaie d'importer pour le magasin de certificats à l'aide de la console MMC, le mot de passe que j'ai utilisé est soi-disant mauvais n'importe quoi - même si je l'ai copier et de les coller dans. (Cela ressemble à un bug dans le programme d'importation... je peux reproduire ce.)

Essayer une autre route, après l'importation de la .cer fichier, il ne sera pas affiché dans le champ "sélectionnez à partir de la banque" de la fenêtre de Visual Studio, donc c'est inutile.

J'ai passé une journée sur ce sujet et suis prêt à le donner, mais je ne peux pas. Que dois-je faire?

InformationsquelleAutor Watki02 | 2012-11-29