2009-04-17 9 views
2

J'ai une application de formulaires Windows qui a été développée dans Visual Studio 2005 et déployée sur un serveur IIS via ClickOnce. J'ai mis à jour vers VS2008 donc j'ai décidé de mettre à jour et redéployer l'application (en test). J'ai exécuté l'assistant de mise à niveau, modifié manuellement le runtime cible du projet à 3.5, supprimé tous les anciens fichiers de publication du serveur de déploiement et publié l'application.Erreur de déploiement ClickOnce sur l'application .NET mise à niveau

Je peux le lancer sans problème (c'est-à-dire, "fonctionne sur ma machine"), mais lorsque d'autres le lancent, ils ont une erreur.

Impossible de continuer. L'application est mal formatée. Contactez le fournisseur de l'application pour obtenir de l'aide.

Il y a un bouton Détails ... dans la boîte de dialogue d'erreur. Voici une partie du contenu.

PLATFORM VERSION INFO 
Windows    : 5.1.2600.131072 (Win32NT) 
Common Language Runtime  : 2.0.50727.1433 
System.Deployment.dll  : 2.0.50727.1433 (REDBITS.050727-1400) 
mscorwks.dll   : 2.0.50727.1433 (REDBITS.050727-1400) 
dfdll.dll   : 2.0.50727.1433 (REDBITS.050727-1400) 
dfshim.dll   : 2.0.50727.1433 (REDBITS.050727-1400) 

Notez que le CLR est de 2,0.

ERROR SUMMARY 
Below is a summary of the errors, details of these errors are listed later in the log. 
* Activation of http://{deployment host name}/ resulted in exception. Following failure messages were detected: 
    + Exception reading manifest from http://{deployment host name}/{application name}.application: the manifest may not be valid or the file could not be opened. 
    + Manifest XML signature is not valid. 
    + No signature was present in the subject. 

Je n'ai pas signé l'application. C'est une application ministérielle entièrement interne. Je soupçonne que le problème n'est pas l'absence d'une signature, c'est que .NET utilise la mauvaise exécution, et que le runtime 2.0 ne peut pas gérer le manifeste 3.5. Mais si c'est le cas, je n'arrive pas à comprendre comment l'utiliser 3.5.

Je pensais que l'ancienne version était peut-être mise en cache, donc j'ai demandé à l'utilisateur de lancer rundll32 %windir%\system32\dfshim.dll CleanOnlineAppCache. Cela a effacé le cache (l'application a fait un rechargement complet la prochaine fois), mais cela n'a pas résolu le problème.

Quelqu'un a-t-il eu un problème comme celui-ci en mettant à jour une application ClickOnce de 2.0 à 3.5? Une idée de ce que mon problème pourrait être?

Répondre

1

Vérifiez que vous avez préalablement défini .NET Framework 3.5 comme prérequis. Paramètres du projet -> Publier -> Conditions préalables

+0

Bonne suggestion. J'ai mis à jour les prérequis à 3.5. Malheureusement, nous obtenons le même résultat. –

Questions connexes