Die Sourcen des JEXIEPORTER finden sich wie immer im GitHub.
Der JEXIEPORTER ist ein PoC um Java Objekt in XML oder JSON Strings zu transformieren und aus den XML/JSON-Strings wieder Java Objekte zu transformieren. Außerdem um CSV-Dateien sowie Excel- und ODF/ODS-Dateien zu lesen und zu schreiben.
Der JEXIEPORTER führt folgende Schritte durch:
import sampledata.csv
convert data to xml
convert data to json
convert xml to objects
convert json to objects
export data as CSV to a temporary file and opens system csv-viewer
export data as xls to a temporary file and opens system xls-viewer
import temporary xlx file
Beispieldaten
Die Beispieldaten sampledata.csv habe ich auf GenerateData generieren lassen und habe dann die trennenden Komma durch Semikolon ersetzt.
Ich möchte ein Programm aus dem Internet testen und es dazu in einer abgeschotteten Umgebung laufen lassen, damit alles, was das Programm in dieser Sandbox anstellt keinerlei Auswirkungen auf das umgebende System hat.
Vor vielen Jahren hatte ich schon einmal das Programm Sandboxie verwendet, um einen Browser in einer isolierten Umgebung laufen zu lassen.
Eine andere Alternative wäre es, ein virtuelles System mittels VMware oder VirtualBox aufzusetzen und Windows zu installieren, bzw. eine virtuelle Entwickler Maschine von Microsoft zu verwenden. Das hatte ich in der Vergangenheit öfters verwendet, das funktioniert sehr gut, ist aber auch etwas aufwändiger.
Für Windows 10 und 11 Pro (bzw. Enterprise, was ich verwende) gibt es inzwischen eine einfacherer Alternative: Die Windows Sandbox, die direkt in das Betriebssystem integriert ist. Und diese Sandbox möchte ich jetzt testen.
Installation
Ich verwende Windows 10 Enterprise und die Virtualisierungsfunktionen im BIOS sind aktiviert.
Um Sandbox mit PowerShell zu aktivieren, öffnen ich PowerShell als Administrator, und führe den folgenden Befehl aus:
Anschließend ist ein Neustart erforderlich, um den Vorgang abzuschließen.
Nach dem Neustart ist die Windows-Sandbox im Startmenü zu finden:
Verwendung
Aus dem Startmenü heraus Windows Sandbox starten:
Per Copy&Paste lassen sich Dateien vom Host in das Sandbox Fenster kopieren. Per Drag&Drop funktioniert es leider nicht. Alternativ lassen sich die benötigten Dateien auch innerhalb der Sandbox herunterladen, so wie im nachfolgenden Beispiel.
Test
In der Sandbox den Browser öffnen, die zu installierende Software suchen und herunterladen. In meinem Test wird es der foxit PDF Editor sein.
Ich entscheide mich für die Version: PDF EDITOR PRO 13
Nach dem Herunterladen und Installieren wird noch eine "Microsoft Edge WebView2" Komponente benötigt. Diese lässt sich bequem innerhalb der Sandbox installieren.
Sobald die Komponente installiert ist lässt sich der PDF Editor in der kostenlosen Testversion starten.
Ich teste den PDF Editor. [TODO nächster Post]
Nach Abschluss der Test kann ich die Sandbox wieder schließen. Dabei gehen alle Daten verloren, so dass beim nächsten Start der Sandbox wieder ein frisches System zur Verfügung steht.
Fazit
Die Windows Sandbox ist ein tolles, leicht zu bedienendes Tool, um schnell Software oder dubiose Webseiten zu testen.
Dass am Ende immer alle Daten gelöscht werden hat den Vorteil, dass man beim nächsten Start mit einem frischen System neu starten kann. Aber es ist auf der anderen Seite auch ein Nachteil, dass man keine Software dauerhaft speichern kann, um sie bei der nächsten Verwendung wieder verwenden zu können. Beispielsweise wenn ich einen bestimmten Browser mit ausgewählten Erweiterungen verwenden möchte.
Ich weiß nicht mehr ganz genau, wie das mit Sandboxie war, soweit ich mich erinnern kann, wurde zB der Browser in Sandboxie installiert und und konnte dann direkt aufgerufen werden, wie eine normale Anwendung. Ob die Einstellungen, Browserverlauf etc. gespeichert wurden weiß ich nicht mehr.
Mit einer richtigen virtuellen Maschine ist man flexibler: Windows und Lieblingssoftware installieren und einrichten, VM herunterfahren und dann die virtuelle Festplatte auf nicht persistent stellen. Dann startet man immer mit seiner eigenen vorkonfigurierten Umgebung, kann ebenfalls nach herzenslust testen und nach einem Neustart ist alles wieder frisch. In der Praxis ist das aber nicht immer ganz so unproblematisch: Es gibt immer wieder neue Windows und Software Updates, die dann nach einem Neustart im Hintergrund gezogen und ggf. sogar installiert werden. Das kann man sicherlich auch anders konfigurieren, ist aber wieder weiterer Aufwand. Oder man startet regelmäßig neu, nachdem man die virtuelle Festplatte auf persistent umgestellt hat, installiert alle Updates, fährt herunter und dann wieder die virtuelle Festplatte auf nicht persistent umstellen. Wenn man aber nur alle paar Monate die VM verwenden möchte, ist man uU genausolange mit updaten beschäftigt, wie man sie für das Testen verwenden möchte. Da ist dann die Windows Sandbox doch schneller und unkomplizierter.