2009-04-24 7 views
8

J'ai une application distribuée utilisant ClickOnce. Je suis allé faire une mise à jour et j'ai eu une erreur concernant l'expiration du certificat. J'ai remarqué sur l'onglet de signature que je pouvais décocher la signature des manifestes ClickOnce. Je l'ai fait et publié avec succès ma demande. Il a bien fonctionné pour les sept premiers utilisateurs - mais juste eu un utilisateur qui devient la redoutée:Le certificat ClickOnce a expiré - ne pas signer le manifeste

Manifest XML signature is not valid. 

+ No signature was present in the subject. 

Je ferai des dizaines d'autres utilisateurs essayant au cours des 24 prochaines heures. Je croise les doigts pour ne pas avoir de problème majeur. J'ai fait beaucoup de lecture sur les problèmes/bugs avec MS ClickOnce et expirant des certificats, et j'espère les éviter en ne signant simplement pas. Le certificat qui a expiré était simplement un certificat générique qui semblait être créé lors de la configuration initiale de ClickOnce. Y a-t-il un problème allant d'un manifeste signé à un manifeste non signé?

L'utilisateur qui rencontre des problèmes n'a même pas pu désinstaller et réinstaller l'application. Nous avons essayé tout ce que je peux penser - y compris la suppression de son dossier User\Local Settings\Apps\2.0.

En outre, que puis-je faire pour cet utilisateur qui soudainement ne peut pas utiliser notre application?

+0

Merci pour la question. J'ai cette question exacte dans quelques mois et je me demandais la même chose. dans l'attente de quelques bonnes réponses. Etes-vous sûr que l'utilisateur dispose de la bonne version du framework .net? parfois nous rencontrons des problèmes de clickonce bizarres et la réinstallation du framework semble fonctionner beaucoup de temps. – codeConcussion

+1

bonne idée - je vais lui demander de réinstaller et de signaler s'il corrige son problème – aSkywalker

Répondre

3

Le problème de certificat d'expiration a été résolu dans l'un des Service Packs .NET 2. L'installation de la dernière infrastructure (3.5 SP1) inclura définitivement le correctif. Vous pouvez simplement passer à un certificat renouvelé et redéployer.

Si vraiment vouloir aller sans signe, je pense que le correctif est le même - assurez-vous que vos utilisateurs ont .NET 3.5 SP1 et en font un prérequis dans vos paramètres ClickOnce.

+0

Malheureusement, cela n'a été corrigé que si vous laissez l'interface de déploiement standard gérer vos mises à jour. Si vous utilisez l'API intégrée, elle échouera lors de la mise à jour du certificat. –

1

makecert -sv MakarioUK.pvk -n "cn =" MakarioUK MakarioUK.cer -b 01/01/2011 -e 01/01/2050 -r

Questions connexes