Kann ich den Ordner C: \ ProgramData \ Package Cache \ löschen?

415

Unter befindet sich ein neuer Ordner voller Installationsprogramme C:\ProgramData\Package Cache\. Ich glaube, das ist von Visual Studio 2012 RC.

Kann ich diese Gigabyte an Daten ohne Konsequenzen löschen? Sind sie alle temporäre Dateien? Es ist ein Beta-Produkt, daher bin ich mir nicht sicher, ob es viele Informationen zu diesem Ordner gibt.

Ben L
quelle
4
Ich würde gegen alles, was mehr als 50 MB groß ist, vorschlagen, es wird für etwas verwendet. Versuchen Sie, sie auf Ihren Desktop oder auf etwas anderes zu verschieben, und verschieben Sie sie zurück, wenn sie abstürzt.
Jon
1
Ich kann mein ursprüngliches Szenario nicht wirklich testen, aber ich erinnere mich, dass alles in Ordnung deinstalliert wurde. Da mehrere Leute behaupten, Probleme gehabt zu haben, habe ich die akzeptierte Antwort widerrufen. Denken Sie daran, dass ich 2012 RC verwendet habe.
Ben L
@BenL obwohl ich verstehe, wenn Sie sagen "Ich kann mein ursprüngliches Szenario nicht wirklich testen, aber ich erinnere mich, dass alles in Ordnung deinstalliert wurde. Da mehrere Leute behaupten, sie hätten Probleme gehabt, habe ich die akzeptierte Antwort widerrufen." Ich denke, meine Antwort unten (die bisher beliebteste) ermöglicht es jedem, das Problem zu umgehen, indem er den Ordner auf ein Laufwerk mit mehr Speicherplatz verschiebt und darauf zeigt. Es funktioniert sogar mit Offline-Medien. Sie können also einfach Ihre Archiv-DVD wieder einhängen / einlegen / Ihr externes Laufwerk wieder anschließen, wenn Sie dies zum Zeitpunkt der Deinstallation, Reparaturen usw. ebenfalls verschieben.
Flak DiNenno
1
@FlakDiNenno Ich mag deine Problemumgehung. Die Frage ist jedoch, ob das Löschen sicher ist, nicht, ob das Mounten oder Offline-Mounten sicher ist.
Ben L
@ BenL Guter Punkt. Ich habe einige Details und einen Link von Microsoft hinzugefügt, der definitiv empfiehlt, den Ordner NICHT zu löschen und warum.
Flak DiNenno

Antworten:

387

TL; DR: Diesen Ordner NICHT löschen

( Problemumgehungen siehe unten )


Warum nicht?

Es gab widersprüchliche Berichte darüber, ob das Fehlen dieses Ordners (als Folge des Löschens) tatsächlich und in allen Fällen Probleme mit der Visual Studio-Installation verursacht, dh während des normalen Betriebs, während der Neuinstallation, des Patch / Upgrades, der Reparaturinstallation oder deinstallieren. Die Empfehlung von MICROSOFT lautet jedoch eindeutig: NICHT LÖSCHEN .

In den Microsoft Developer Tools-Blogs → HIER

Wenn beim Reparieren, Ändern oder Deinstallieren eines Produkts oder beim Installieren oder Deinstallieren eines Patches Quellmedien erforderlich sind, wird der Paket-Cache automatisch verwendet und die meisten Benutzer sehen keine Eingabeaufforderung. Nur wenn der Paket-Cache fehlt oder unvollständig ist, fordert das Visual Studio-Setup zum Herunterladen (falls verbunden) oder Auffinden von Datenträgern auf (siehe Abbildung unten).

Visual Studio 2012-Eingabeaufforderung für Quelle

Benutzer, die von Datenträgern installiert haben, erhalten sogar die Option zum Herunterladen (sofern verbunden). Obwohl nur sehr wenige Kunden diesen Dialog jemals sehen sollten, wollten wir sicherstellen, dass die Erfahrung einfach ist.
Auch wenn wir Sie auffordern, fehlende Pakete in den Cache herunterzuladen, wird empfohlen, den Paket-Cache nicht zu entfernen. Der Cache wird nicht nur von vielen anderen Produkten verwendet, die mit Burn installiert werden und möglicherweise nicht die gleiche Downloaderfahrung bieten. Es gibt auch Szenarien, in denen Windows Installer möglicherweise Quellen benötigt, die wir nicht verarbeiten können, weil unser Code nicht ausgeführt wird.


Lösung / Umgehung:

Wenn Sie diesen Speicherplatz zurückfordern müssen, ist es am sichersten, nichts zu "löschen" , sondern diesen Ordner und alle zugehörigen Dateien zu verschieben. Sie können dies sicher tun, indem Sie die nachstehenden Anweisungen für jeden lokalen / Live-, Online-, Near-Line- oder Offline-Speicher befolgen, sofern dieses Speichersystem an einen Laufwerksbuchstaben oder einen beliebigen Bereitstellungspunkt im NTFS-Dateisystem angehängt werden kann . Folgendes funktioniert:

  • eine andere aktive (gemountete) Partition
  • eine optische Disc (CD, DVD usw.) mit einem Live-Dateisystem wie FAT oder NTFS
  • eine externe Festplatte
  • ein USB-Laufwerk
  • ein Netzlaufwerk

Wenn Sie zur Eingabe des Datenträgers aufgefordert werden oder Fehler bezüglich fehlender Dateien oder Speicherorte erhalten, stellen Sie einfach sicher, dass Sie das Laufwerk bzw. den Datenträger erneut einbinden bzw. erneut einlegen, sofern es sich nicht bereits um eine Live-Partition handelt.

Nach dem C:\ProgramData\Package Cache\Verschieben erstellen Sie einfach ein Verzeichnis junction, um den alten Einhängepunkt / Speicherort (in den meisten Fällen ) zu "verknüpfen" .

Junctionswerden auf der file systemEbene als Alias-Eintrag in der FSTAB. Daher ist es für alle Programme, einschließlich des Betriebssystems selbst, transparent. Mit anderen Worten, es wird NICHT als Datei angesehen, die einfach auf einen anderen Ort (wie a shortcut) verweist und daher immer ohne Zwischenfälle funktioniert.

  1. Sie würden die betreffenden Ordner an ihren neuen Speicherort verschieben
  2. Erstellen Sie die Junction

    • Option 1. (nativ) : Geben Sie einfach den integrierten Windows Vista / 7/8-Befehl und die Eingabeaufforderung cmd ein:

      mklink /J oldpath newpath
      

      ANMERKUNG: Wenn Sie den newpathabsoluten Wert festlegen, können Sie den Link verschieben, ohne den Zeiger auf das Symbol zu beschädigen newpath. Wenn Sie einen newpathVerwandten festlegen, können Sie das Unterbrechen des Links verhindern, solange Sie den Link und das Ziel ZUSAMMEN verschieben und die relativen Pfade beibehalten.

    • Option 2. (mit einem Tool) : Eine weitere großartige Alternative ist ein kostenloses praktisches Dienstprogramm, das ich seit Jahren benutze und das "Link Shell Extension" heißt . LSE ist kostenlos und hier zu finden (oder bei Google): http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html

      Mit LSE können Sie Symlinks, Hardlinks, Junctions, Smartcopies, Smartclones, Smart Mirrors, Smart Moves, Splices, mehrere Quellen und viele andere Dinge erstellen, die ich offen gesagt für zu verwirrend hielt, um sie zu lesen. Es ist jedoch ein brillantes kostenloses Produkt, das ein Windows Explorer-Kontextmenü erstellt, mit dem Sie mit der rechten Maustaste auf Ihren LINK-TARGET-Ordner klicken und ihn an die Stelle ziehen können, an der Sie den tatsächlichen Link erstellen möchten. Sie können den Link natürlich beliebig umbenennen.

Flak DiNenno
quelle
20
Das ist eine großartige Lösung. Ich muss mein SSD C-Laufwerk bereinigen, indem ich Dateien auf ein anderes Laufwerk verschiebe. Vielen Dank
Marek
7
+1 für Hardlink Shell Extension. Könnte nicht ohne es leben.
Dennis G
144
Sehr geehrte Microsoft-Mitarbeiter, bitte verwenden Sie nicht den Namen "cache", um einen Ordner zu beschreiben, der beim Löschen so viele Kopfschmerzen verursacht. Vielen Dank.
Todd Menier
9
Haben den Trick mit dem Umzug auf ein anderes Laufwerk und eine Kreuzung. Beim heutigen Ausführen des VS2015 SP3-Installationsprogramms hat das Installationsprogramm bewirkt, dass die Junction in ein normales Verzeichnis verschoben wurde (möglicherweise wurden sie bei der Deinstallation einer älteren Version einer Komponente durch "leere" übergeordnete Verzeichnisse entfernt - es sind Probleme mit Junctions und naiven leeren Verzeichnissen bekannt Tests). Daher wurden neue Komponenten in C: \ ProgramData \ Package Cache abgelegt, und es wurden keine Elemente an der neuen Position gefunden, auf die die Junction zuvor zeigte. Nur eine Warnung für zukünftige Leser, die Kreuzung muss möglicherweise neu eingerichtet werden.
Ben Voigt
5
Verwenden Sie als dauerhafteren Fix NTFS-Berechtigungen und verweigern Sie die Berechtigung "Löschen" für die Junction selbst.
Ben Voigt
48

Ich habe nach der Installation von VS2012 denselben Ordner auf meinem Laptop gefunden. Ich habe versucht, diesen Ordner in "__Package Cache" umzubenennen. Als ich dann versuchte, VS2012 zu deinstallieren, konnte der Deinstallationsprozess nicht gestartet werden.

Weitere Informationen finden Sie hier .

Claudio Valerio
quelle
22

Die richtige Antwort scheint zu sein, dass VS 2012 beim Löschen nicht deinstalliert werden kann, andernfalls jedoch nicht benötigt wird. Deshalb:

  1. Sie können die Dateien dort lassen. Alles wird funktionieren, aber es wird viel Speicherplatz verbrauchen.
  2. Sie können die Dateien löschen. Wenn Sie VS 2012 deinstallieren möchten, können Sie das ursprüngliche Installationsprogramm erneut ausführen, um die Dateien zurückzusetzen, und anschließend deinstallieren.
  3. Sie können die Dateien auf ein anderes Laufwerk mit mehr freiem Speicherplatz verschieben.

    a) Verschieben Sie die Dateien zurück, wenn Sie sie benötigen

    b) Erstellen Sie eine Junction wie in Flaks Vorschlag (Warnung: Junctions sind heikle Biester und werden im Windows Explorer angezeigt, dass die Dateien Speicherplatz auf C belegen, wenn sie sich wirklich auf einem anderen Laufwerk befinden!)

Junctions und symbolische Links sind die einzige Antwort, um Systemdateien auf ein anderes Laufwerk zu verschieben. Es handelt sich dabei um Features auf NTFS-Dateisystemebene, die auch Windows selbst nicht kennt, und daher einen wirklich großen Hammer (und ein potenzielles Sicherheitsrisiko) darstellen, der im Gegensatz zu ihren Gegenstücken unter UNIX / Linux / BSD sparsam eingesetzt werden sollte, da es sie schon viel länger gibt auf dieser OS-Familie und UNIX / Linux / BSD-Programme wissen, wie man mit ihnen umgeht.

Jonathan Baldwin
quelle
2
Junctions sind knifflige Biester und werden Windows Explorer angelogen, wenn er Ihnen mitteilt, dass die Dateien auf C Speicherplatz belegen. Wenn Sie damit den Eigenschaftsdialog der Junction öffnen, wird die "Größe auf Festplatte" angezeigt, die gleich ist die größe auf der festplatte in der es sich tatsächlich befindet, dann bin ich damit einverstanden, dass es irreführend ist. Aber wie auch immer, tatsächlich die Größe des Ordners wird Junction verbundene auf dem Laufwerk C auf die Gesamt belegten Speicherplatz nicht aufaddieren , wie Eigenschaftsdialog C - Laufwerks. In diesem Fall ist Ihre Aussage irreführend ;-)
Sнаđошƒаӽ
18

Alle Installationsprogramme der Software werden in diesem Ordner gespeichert. Wenn Sie versuchen, eine Software nach dem Löschen dieses Ordners zu deinstallieren, schlägt dies fehl.

ahjzysq
quelle
12

Nachdem ich Visual Studio 2012 installiert hatte, bemerkte ich diesen Ordner. In meinem Fall wurde alles, was in der Visual Studio 2012-Installation enthalten war, manuell entfernt und alles scheint zu funktionieren, einschließlich Visual Studio.

Johan Svensson
quelle
7
Dies ist die akzeptierte Antwort und es ist falsch . Wird Sie diesen Ordner löschen Sie nicht der Lage sein, Visual Studio zu deinstallieren oder zu aktualisieren (und verwandte Tools und redistributables - dies wird Sicherheitsprobleme verursachen , wenn ein Update auf MSVC Runtimes kommt)
kinokijuf
5
Sie irren sich, ich habe es problemlos geschafft, Visual Studio 2012 mit den neuesten Updates zu aktualisieren. Vielen Dank.
Johan Svensson
12

Für Visual Studio 2017 können Sie den Paketcache (auch nach der Installation von Visual Studio) deaktivieren, indem Sie Folgendes aufrufen:

"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vs_installer.exe" --nocache

Ich habe dadurch ungefähr 2 GB Festplattenspeicher auf meinem Systemlaufwerk (YMMV) gewonnen.

Weitere Informationen finden Sie in den Dokumenten: Visual Studio- Dokumente : Deaktivieren oder Entfernen des Paketcaches

0xA3
quelle
Hat jemand versucht, den Cache nach der Installation von vs2017 zu deaktivieren und zu entfernen?
Ben L
1
@ BenL: Es hat bei mir funktioniert.
0xA3
Dies scheint die richtige Methode zum Löschen des Paket-Cache-Ordners zu sein. Die einzige Sache ist, dass das Aufrufen nicht ausreicht: Sie müssen tatsächlich eine Aktion über das Installationsprogramm ausführen (z. B. ein Upgrade oder eine Neuinstallation von Visual Studio).
Rsenna
7

Nein. Wenn Sie diesen Ordner löschen, können Sie Visual Studio nicht deinstallieren (und möglicherweise aktualisieren).

kinokijuf
quelle
7

JA, Sie können dieses Verzeichnis löschen, wenn Sie Visual Studio deinstalliert haben.

Ich habe dieses Verzeichnis nach der Deinstallation von Visual Studio gefunden, um eine SSD zu installieren, die kleiner ist als die Festplatte, die ich zuvor verwendet habe. Dieser Computer ist keine Entwicklungsstation mehr.

Bei der Deinstallation von Visual Studio blieb eine andere Software wie ein Programm zum Herstellen einer Verbindung mit einem lokalen SQL-Server zurück, die ich nicht besitze. Ich habe es deinstalliert.

Es hat auch einige .NET-Programme hinterlassen, aber ich weiß nicht, welche sicher zu deinstallieren sind, und habe sie daher an Ort und Stelle belassen.

Also zum Punkt der Frage: Ich habe dieses Verzeichnis gelöscht.

Es war ziemlich groß und half mir, besser in meine SSD zu passen.

Jetzt, einen Tag später, habe ich keine Probleme bemerkt.

SDsolar
quelle
6
Monate später noch keine Probleme.
SDsolar
1

In der Regel ist es besser, diese Dateien nicht manuell zu löschen und diese Aufgabe entweder der Windows-Datenträgerbereinigung oder anderen Tools zur Datenträgerbereinigung zu überlassen. Die, die ich persönlich benutze und empfehlen kann, ist der CCleaner .

Mit CCleaner können Sie veraltete Dateien in einem Programm automatisch finden und für Sie löschen.

Prahlad Yeri
quelle
13
Sei sehr vorsichtig; Diese Programme sind keineswegs narrensicher. Es ist bekannt, dass CCleaner Dateien entfernt, die für die Ausführung einiger Programme kritisch sind, und bei einigen Optionen werden Dateien entfernt, die für die Deinstallation aufbewahrt werden.
Bob
4
CCleaner ist mehr oder weniger beschissen. Ich musste meinen Computer wiederherstellen (da ich ihn nicht starten konnte), nachdem ich versucht hatte, dieses Tool zu verwenden. Besser nicht nie benutzen.
Hoffnungslos