2010-02-15 6 views
4

J'ai l'application WinForms .net 3.5. Je le déploie en utilisant clickonce sur intranet avec plusieurs machines client. Je publie l'application dans le serveur Web intranet (http://desbiz/CarwinClickOnce).ClickOnce et GAC

Dans un environnement de développement (mon PC), mon application utilise des assemblys GAC, comme Fk.Security.Common.dll v.1.0.0.0.

Dans l'onglet Publier -> Fichiers d'application dans l'application Propriétés de WinForms csproj, j'ai défini la valeur Inclure pour la référence Fk.Security.Common.dll.

Maintenant,

certaines machines clientes ont Fk.Security.Common.dll référence v.1.0.0.0 dans GAC

client d'autres pas Fk.Security.Common.dll référence v.1.0.0.0 dans GAC

Si le client installe l'application Winform en utilisant ClickOnce il y a cette questions:

1.) Si Fk.Security.Common.dll référence v.1.0.0.0 est GAC, le Fk.Security. La référence Common.dll v.1.0.0.0 incluse dans ClickOnce ne s'applique pas.

Problème: le code peut-être compilde dans Fk.Security.Common.dll référence v.1.0.0.0 inclus dans ClickOnce est mise à jour plus que le code en référence Fk.Security.Common.dll de v.1.0.0.0 est dans GAC

Solution: désinstallez Fk.Security.Common.dll référence v.1.0.0.0 dans GAC, et installer dans GAC la référence v.1.0.0.0 Fk.Security.Common.dll inclus dans ClickOnce ... Publier

(comment puis-je désinstaller/installer des assemblys dans GAC en utilisant ClickoNce ????)

2.) Si Fk.Security.Common.dll refe La règle NOT est dans GAC, la référence Fk.Security.Common.dll v.1.0.0.0 incluse dans ClickOnce s'applique. Aucun problème.

note: l'utilisateur de l'ordinateur client dispose d'autorisations d'administrateur.

Une solution à ce problème?

Merci d'avance.

Répondre

5

ClickOnce ne peut pas installer ou désinstaller des fichiers dans le GAC.

Avez-vous écrit le fichier Fk.Security.Common.dll? Si c'est le cas, augmentez le numéro de version (v.1.0.0.1) et recompilez-le. Lorsque vous le référencez, définissez la propriété "Version spécifique" sur "True" et la propriété "Version" sur votre nouveau numéro de version. Cela devrait résoudre votre problème sans avoir à désinstaller l'ancien assembly du GAC de tout le monde.

+0

Si l'utilisateur qui installe l'application avec ClickOnce est l'administrateur du PC client, ne peut pas installer/désinstaller des fichiers dans le GAC ??? l'utilisateur est administrateur !!! Merci –

+0

Peu importe si l'utilisateur est un administrateur; ClickOnce ne peut rien faire avec le GAC. Si vous voulez apporter des modifications au GAC, vous devez le faire d'une autre manière, comme avec .msi. – codeConcussion

2

Dans votre projet Visual Studio, cliquez sur l'ensemble référencé (Fk.Security.Common.dll) et dans les propriétés fenêtre définir la copie locale propriété à vrai (je suppose que vous utilisez ClickOnce)

2

Impossible d'installer ou d'exécuter l'application. L'application nécessite cet assembly Telerik.Windows.Data Version 2012.1.215.40 être installé dans le Global Assembly Cache (GAC) premier

j'avais même erreur quand j'ai oublié modifier la configuration de la solution de "Debug" pour "Release" dans Visual Studio. Avant de publier