ClickOnce ApplicationCache oder .xbap Cache löschen


Da in Zukunft immer mehr Anwendungen per ClickOnce oder für Windows Presentation Foundation per .XBAP im Internet verteilt werden, braucht man auch irgendeine eine Möglichkeit die Sache wieder loszuwerden.

Wenn es z.B. Probleme gibt eine ClickOnce Anwendung zu starten aber gleichzeitig ein neuer Download nicht möglich ist, hilft es den ApplicationCache zu löschen. Leider ist momentan nicht bekannt wie man nur eine Anwendung aus dem ApplicationCache löschen kann. Man kann nur den gesamten Cache löschen.

Hier gibt es einige Codebeispiele wie dies in C passieren kann oder wie die Routine in den Explorer eingebunden werden kann: http://bombayboy.wordpress.com/2006/07/03/

Hier die Alternative wenn man das aktuelle Windows SDK installiert hat:
http://blogs.msdn.com/irenak/archive/2006/07/19/670988.aspx

Und hier noch ein Beispiel wie man auf einem Kundenrechner den Cache löschen kann:
http://blogs.msdn.com/karstenj/archive/2006/08/09/
693488.aspx

Beim Aufruf von: 

  rundll32 %windir%\system32\dfshim.dll CleanOnlineAppCache

wird der Cache gelöscht, dies geht sogar unter Vista ohne Adminrechte. Ist aber auch irgendwie logisch da jeder Benutzer seinen eigenen Cache hat.

Wenn man aus einer Anwendung per C# den Cache löschen möchte, geht dies über:

using System;
using System.Collections.Generic;
using System.Text;

namespace CleanOnlineAppCache
{

class Program
{

static void Main(string[] args)
{

System.Deployment.Application.DeploymentServiceCom d = new System.Deployment.Application.DeploymentServiceCom();

d.CleanOnlineAppCache();

}
}
}

Dazu wird noch eine Referenz auf System.Deployment benötigt.
http://msdn2.microsoft.com/de-de/library/system.deployment.application.deploymentservicecom
.cleanonlineappcache.aspx

Bei clickOnce gibt es noch das 250MB Limit:
http://windowssdk.msdn.microsoft.com/en-us/library/e379921e-9ef1-4326-bbf3-53ba67925526.aspx 

Hinterlasse einen Kommentar