Windows Ordner winsxs voll

Nachdem meinem Systemlaufwerk unter Windows 7 im Laufe der Zeit immer weniger Speicherplatz zur Verfügung stand analysierte ich diesen Zustand und stellte fest, dass im Ordner C:\Windows\winsxs unglaublich viele Dateien liegen die für mich keinen Sinn ergeben und wie temporäre Installationsdateien aussehen. Der Ordner dort ist mit mehr als 12GB auch noch so groß, dass er meiner Meinung nach gelöscht werden kann.

Wer das jedoch tut kann mitnichten eine böse Überraschung erleben, da Windows dort Systemänderungen aus den Windows-Updates abspeichert. Dieser Ordner kann lediglich mittels einem Tool um unnötige Dateien bereinigt werden, welches von Microsoft bereits von Haus aus mitgeliefert wird:

DISM.exe /Cleanup-Image /Online /spsuperseded

Ordnergröße vor der Bereinigung: 12.268 MB
Ordnergröße nach der Bereinigung: 9.905 MB

Die Bereinigung hat bei mir etwas mehr als 2 GB Speicherplatz freigeschafft. Das ist jetzt nicht unbedingt der Burner, aber immerhin etwas – denn auf meiner 30GB SSD sind das immerhin wieder 6% freier Speicherplatz mehr.

Back in time

Hin uns wieder steht man als Entwickler vor der Aufgabe einen Prozess zu verschiedenen Zeitpunkten zu testen. Das löst man meist recht pragmatisch indem man die Systemzeit ändert und sodann seine Tests durchführt. Dies hat jedoch oftmals einen unangenehmen Beigeschmack, der sich unter anderem im folgenden bemerkbar macht:

  1. Andere Programme legen ein ungewolltes Verhalten an den Tag
  2. Andere Benutzer auf dem gleichen System sind ebenfalls von  der Zeitumstellung betroffen
  3. Der Taskplaner startet Jobs die während der gegenwärtigen Uhrzeit das System negativ beeinflussen
  4. Zertifikate werden plötzlich ungültig
  5. Logeinträge des Systems sowie jene diverser Applikationen sind möglicherweise nicht mehr zuordnbar bzw. nur schwer nachvollziehbar

Welche Gründe man nun auch immer für die Zeitumstellung hat und sich mit den damit verbundenen Problemen herumschlagen muss – sofern die Entwicklung auf einem Windowssystem stattfindet ist man mit dem Tool RunAsDate in der Lage einen beliebigen Prozess mit einer eigenen Zeiteinstellung gezielt zu starten. Dafür klinkt dieses Tool sich in die Kernel-API ein und manipuliert die Zeit für den Prozess mit der übergebenen Zeiteinstellung.

Einen PHP-Webserver in anderen Zeiten starten:

RunAsDate.exe /movetime 01\01\2001 18:15:00 C:\php5\php.exe -S localhost:8000 -t D:\var\www\mydomain\

PHP im CLI-Modus starten:

RunAsDate.exe /movetime 01\01\2001 18:15:00 C:\php5\php.exe -r “date(‘Y-m-d H:i:s’);fgets( STDIN );”

Beachte:

  1. Manche Zeiteinstellungen z.B. vor 2000 oder ein Datum vor bestimmten Zeitpunkten zu den das Programm einfach seine Kalkulationen unterlässt lassen das gewünschte Programm nicht starten oder zu ungewünschten Ergebnissen führen
  2. Es ist nicht empfehlenswert Programme zu starten, die einer zeitlichen Beschränkung unterliegen, da diese möglicherweise das intern gegenprüfen und so ihren Dienst künftig gänzlich verweigern

Download:

http://www.heise.de/download/runa04sdate-1169076.html