2010-08-05 9 views
1

J'ai une application ClickOnce qui vérifie une nouvelle version du serveur au démarrage. J'ai récemment déployé une nouvelle version (2.0.0.0) tout en laissant l'ancienne version (1.9.9.9) sur le serveur.ClickOnce ne détecte pas correctement le serveur de formulaire version plus récente

Sur la version de démarrage 2 informera l'utilisateur qu'une nouvelle version de disponible et télécharger 1.9.9.9.

Y at-il une raison pour que cela se produise? J'ai supposé que ClickOnce regarderait les numéros de version seul pour décider si une version était plus récente ou non.

Merci

EDIT - ceci est la version publier

EDIT DEUX

Merci pour les gars réponses. L'application est publiée par Visual Studio. Il a placé un fichier .Application dans la racine qui contient des informations telles que les suivantes:

<assemblyIdentity name="CokeAudit.application" version="2.0.0.0" publicKeyToken="0000000000000000" language="neutral" processorArchitecture="x86" xmlns="urn:schemas-microsoft-com:asm.v1" /> 

Le fichier .Application qui existe sur le serveur (que je nai mis à jour à la nouvelle version encore) contient un fichier .application dans la racine qui contient des détails tels que:

<assemblyIdentity name="CokeAudit.application" version="1.9.9.9" publicKeyToken="4c4bf139090ca52a" language="neutral" processorArchitecture="x86" xmlns="urn:schemas-microsoft-com:asm.v1" /> 

la seule chose que je peux voir qui est différent, à part le numéro de version, est l'information clé publique. Cela pourrait-il être dû au fait qu'entre la version 1.9.9.9, j'ai dû désactiver la signature de l'application lorsque le certificat a expiré? Cela causerait-il le problème de mise à niveau?

À aucun moment, je n'ai signé l'application avec un vrai certificat «correct» - il s'agissait toujours d'un test généré par Visual Studio.

+0

Version d'assemblage ou version Publish? –

+0

publier la version – Sergio

Répondre

3

ClickOnce ne regarde pas les numéros de version - il regarde simplement le fichier manifeste de l'application dans le répertoire de premier niveau de votre référentiel ClickOnce. Ceci est important lorsque, par exemple, vous devez effectuer une restauration forcée d'une version. Assurez-vous que le manifeste de l'application au niveau supérieur est le même que le manifeste de l'application dans le répertoire 2.0.0.0 sous Fichiers d'application - si ce n'est pas le cas, copiez simplement le manifeste jusqu'au niveau supérieur.

1

Comment publiez-vous votre application? Si vous utilisez Visual Studio, il placera le nouveau manifeste de déploiement (fichier .application) dans la racine; sinon Richard Dunlap a raison, vous devrez le faire vous-même.

L'autre cas où j'ai vu des gens avoir ce problème est quand la mise en cache est activée sur le serveur web. (Je pense que j'ai seulement entendu parler de cela avec les serveurs Unix ou Apache.)