2009-03-03 5 views
14

Les applications .NET ClickOnce sont déployées dans un sous-dossier de C: \ Documents and Settings \\ Local Settings \ Apps \ 2.0. En développement, nous avons tendance à effectuer un grand nombre de petits changements et avec des déploiements réguliers, beaucoup de déchets peuvent s'accumuler dans ce dossier. De manière surprenante, 'Delete Temporary Internet Files' ne supprime pas les anciens éléments de ce dossier. Est-ce que quelqu'un sait si Windows/.NET prend des mesures pour supprimer des choses d'ici ou ne cesse de s'accumuler. Merci!Recommandations pour effacer les données de déploiement ClickOnce

Répondre

13

Mage est un outil ClickOnce fourni avec le framework sdk. La commande ...

Mage.exe -cc 

... vider le cache de votre application. Vous devrez peut-être chercher un peu pour trouver un mage. Différentes versions de la SDK semble installer dans différents endroits. Sur ma machine se trouve ici, C: \ Program Files \ Microsoft SDK \ Windows \ v6.0A \ bin \ mage.exe. Une autre alternative consiste à utiliser l'option de publication qui rend votre application disponible hors connexion. Vous obtiendrez alors une entrée dans votre "Ajout/Suppression de programmes" que vous pouvez utiliser pour supprimer des applications.

+0

Salut, La machine cliente ne se ballonnement avec la version différente de l'application dans leur dossier cache. Y at-il une option dans Clickonce pour effacer le cache du client périodiquement ou quelque chose? Vous ne savez pas pourquoi les versions antérieures de l'application persistent dans ce dossier. Si le client n'efface pas le cache, il va y avoir un gros problème. – theraneman

+2

En outre, l'option mage -cc n'a pas effacé le cache pour moi. J'ai essayé le chemin que vous avez fourni. Bien que la suppression du programme de Ajout/Suppression ait effacé le cache. – theraneman

+0

@theraneman le cache ne devrait conserver que la version actuelle et une précédente. Je ne sais pas pourquoi mage -cc n'a pas effacé votre cache, mais typiquement je fais juste cela pour se débarrasser des applications qui sont "en ligne seulement" et n'apparaissent pas dans les programmes d'ajout/suppression. – codeConcussion

21
rundll32 %windir%\system32\dfshim.dll CleanOnlineAppCache 
+0

Bonne solution! Testé sur Windows XP et Windows 8 - fonctionne probablement sur toutes les versions entre les deux. Et ne nécessite pas de copier 'mage.exe' ou quoi que ce soit à la machine. – sinelaw

+0

Pour l'enregistrement: Admin-Shell requis. Sinon, vous obtiendrez "module introuvable" –

+2

Pour l'enregistrement du programmeur (fonctionne sans droits d'administrateur): [DllImport ("Dfshim.dll", CharSet = CharSet.Auto)] public static extern void CleanOnlineAppCache(); –

Questions connexes