Was ist das VSIX-Dateiformat?
.vsix ist das Format für Installationspakete von Visual Studio-Erweiterungen. Es wurde mit Visual Studio 2010 eingeführt und ersetzte das ältere Installationsmodell für .vsi- und .msi-Erweiterungen. Das Format ist bis Visual Studio 2022 aktuell geblieben.
Strukturell ist eine .vsix-Datei ein Open Packaging Conventions-Archiv - im Wesentlichen ein ZIP -, das einen Metadaten-Deskriptor namens extension.vsixmanifest, ein OPC-Manifest [Content_Types].xml und die eigentlichen Erweiterungsdaten enthält: kompilierte .dll-Assemblies, MEF-Komponenten, Befehlstabellen-Dateien (.vsct), Snippets und Vorlagen.
Die Datei extension.vsixmanifest deklariert die Erweiterungs-ID, die Version, den Anzeigenamen und InstallationTarget-Bereiche, die festlegen, welche Visual Studio-Versionen und SKUs die Erweiterung unterstützt. Es existieren zwei Manifest-Schema-Versionen: v1 (VS 2010-2011) und v2 (VS 2012 und später, aktuell).
Ein Doppelklick auf eine .vsix-Datei unter Windows startet die VSIXInstaller.exe, die mit Visual Studio ausgeliefert wird und die Erweiterung validiert sowie installiert. Erweiterungen werden zudem über den Visual Studio Marketplace unter marketplace.visualstudio.com veröffentlicht und gefunden.
Visual Studio Code verwendet ebenfalls .vsix-Pakete für seine eigenen Erweiterungen, jedoch mit einem strukturell anderen Innenleben: VS Code-Erweiterungen enthalten ein package.json-Manifest anstelle der vsixmanifest-Datei, wodurch die beiden Familien trotz der gleichen Dateiendung inkompatibel sind.
Da .vsix ein ZIP-Archiv ist, können Tools wie 7-Zip die Datei zur manuellen Inspektion öffnen. Die Magic Bytes (50 4B 03 04 bei Offset 0) sind identisch mit jeder Standard-ZIP-Datei; das Vorhandensein von extension.vsixmanifest im Inneren identifiziert das Paket als Visual Studio-Erweiterung.
Sicherheit
RISIKO: MEDIUMVSIX-Pakete enthalten kompilierte .NET-DLLs, die im Visual Studio-Prozess mit vollem Vertrauen ausgeführt werden. Eine bösartige Erweiterung kann Quellcode, Anmeldedaten und Umgebungsvariablen auslesen oder dauerhafte Backdoors installieren. Installieren Sie nur aus dem Visual Studio Marketplace oder von vertrauenswürdigen Quellen. Marketplace-Pakete werden gescannt, dies ist jedoch nicht absolut sicher. Zur Sicherheitsüberprüfung: In .zip umbenennen und DLLs vor der Installation inspizieren.
Formatdetails
kurz gefasst- VS Code Extension Package - VS Code-Erweiterungen werden ebenfalls als .vsix gepackt (über das vsce-Tool), verwenden aber das package.json-Manifest und nicht das Visual Studio vsixmanifest-Schema.
Programme zum Öffnen von VSIX-Dateien
Technische Details
technische Spezifikation| Container-Format | OPC (Open Packaging Conventions) / ZIP-Archiv mit `[Content_Types].xml` und Beziehungsteilen |
| Kompression | DEFLATE (pro ZIP-Eintrag); einzelne Einträge können unkomprimiert gespeichert sein |
| Manifest-Datei | `extension.vsixmanifest` - XML zur Deklaration von Erweiterungs-ID, Version, Herausgeber, InstallationTarget und Asset-Pfaden |
| Manifest-Schema-Versionen | v1 (VS 2010-2011) und v2 (VS 2012 und später, aktuell) |
| Magic Bytes | `50 4B 03 04` bei Offset 0 (Standard-ZIP-Header); unterscheidet sich von anderen ZIPs durch den Eintrag `extension.vsixmanifest` im Inneren |
| MIME-Typ | `application/vsix` |
| Typische Paketgröße | 50 KB - 50 MB; die meisten Erweiterungen 1-5 MB; große Sprachpakete bis zu 50 MB |
| Installer-Programm | `VSIXInstaller.exe`, gebündelt mit Visual Studio; wird automatisch bei Doppelklick auf eine .vsix-Datei gestartet |
| Vertriebskanal | Visual Studio Marketplace (marketplace.visualstudio.com); auch direkter Dateidownload und Enterprise-Bereitstellung |
| Sicherheitsmodell | Der Marketplace validiert Authenticode-Signaturen auf enthaltenen DLLs; keine kryptografische Signatur auf dem ZIP-Container selbst |
| Hinweis zu VS Code | VS Code verwendet ebenfalls .vsix, aber mit einem `package.json`-Manifest anstelle von `vsixmanifest`; beide sind nicht austauschbar |
| Zielspezifikation | Das `InstallationTarget`-Element im Manifest listet Visual Studio-Produkt-IDs und Versionsbereiche für die Kompatibilität auf |
| Veröffentlicht | 2010 (Visual Studio 2010; replaced older .vsi/.msi extension model) |
| Neueste Version | VSIX manifest schema v2.0 (introduced VS 2012; current as of VS 2022) |
| Spezifikation | learn.microsoft.com |
VSIX-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu VSIX-Dateien.