2009-03-03 2 views
14

Приложения .NET ClickOnce развертываются в подпапку C: \ Documents and Settings \\ Local Settings \ Apps \ 2.0. В разработке мы склонны делать большое количество небольших изменений и при регулярном развертывании в эту папку может накапливаться большое количество нежелательной почты. Удивительно «Удалить временные файлы Интернета» не удаляет старые файлы из этой папки. Кто-нибудь знает, предпринимает ли Windows/.NET какие-либо шаги, чтобы удалить материал из этого списка или он просто продолжает накапливаться. Спасибо!Рекомендации по очистке ClickOnce deploy junk

ответ

13

Маг - инструмент ClickOnce, который поставляется с фреймворком sdk. Команда ...

Mage.exe -cc 

... очистит кэш приложения. Возможно, вам придется искать немного, чтобы найти мага. Кажется, что различные версии sdk устанавливаются в разных местах. На моей машине он находится здесь, C: \ Program Files \ Microsoft SDK \ Windows \ v6.0A \ bin \ mage.exe.

Другой вариант - использовать параметр публикации, который делает ваше приложение доступным в автономном режиме. Затем вы получите запись в своей обычной «Установка и удаление программ», которую вы можете использовать для удаления приложений.

+0

Hi, Клиентская машина раздувается с другой версией приложения в своей папке с кешем. Есть ли опция в Clickonce для периодического удаления кеша клиента? Не знаете, почему более ранние версии приложения по-прежнему сохраняются в этой папке. Если клиент не очистит кеш, это будет большой хлам. – theraneman

+2

Кроме того, опция mage -cc не очистила кеш для меня. Я пробовал путь, который вы предоставили. Хотя, удалив программу из Add/Remove, она очистила кеш. – theraneman

+0

@theraneman, кеш должен содержать только текущую версию и одну предыдущую. не знаю, почему mage -cc не очистил ваш кеш, но, как правило, я просто делаю это, чтобы избавиться от приложений, которые «только в Интернете» и не отображаются в программах добавления/удаления. – codeConcussion

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

Хорошее решение! Протестировано в Windows XP, а также в Windows 8 - возможно, работает и на всех версиях между ними. И не требует копирования «mage.exe» или чего-либо другого на машину. – sinelaw

+0

Для записи: требуется командная оболочка администратора. В противном случае вы получите «модуль не найден» –

+2

Для записи программиста (работает без прав администратора): [DllImport («Dfshim.dll», CharSet = CharSet.Auto)] public static extern void CleanOnlineAppCache(); –