Wat is het VSIX-bestandsformaat?
.vsix is het formaat voor installatiepakketten van Visual Studio-extensies. Het werd geïntroduceerd bij Visual Studio 2010 en verving het oudere .vsi- en .msi-installatiemodel voor extensies. Het formaat is nog steeds actueel tot en met Visual Studio 2022.
Structureel gezien is een .vsix-bestand een Open Packaging Conventions-archief - in feite een ZIP - dat een extension.vsixmanifest-metadatabeschrijving bevat, een [Content_Types].xml OPC-manifest en de payload van de extensie: gecompileerde .dll-assemblies, MEF-componenten, command-table .vsct-bestanden, snippets en sjablonen.
Het extension.vsixmanifest declareert de extensie-ID, versie, weergavenaam en InstallationTarget-bereiken die specificeren welke Visual Studio-versies en SKU's de extensie ondersteunt. Er bestaan twee manifest-schemaversies: v1 (VS 2010-2011) and v2 (VS 2012 en later, actueel).
Dubbelklikken op een .vsix op Windows start VSIXInstaller.exe, meegeleverd met Visual Studio, dat de extensie valideert en installeert. Extensies worden ook gepubliceerd en ontdekt via de Visual Studio Marketplace op marketplace.visualstudio.com.
Visual Studio Code gebruikt ook .vsix-pakketten voor zijn eigen extensies, maar met een structureel andere inhoud: VS Code-extensies bevatten een package.json-manifest in plaats van vsixmanifest, waardoor de twee families incompatibel zijn ondanks het delen van dezelfde bestandsextensie.
Omdat .vsix een ZIP-archief is, kunnen tools zoals 7-Zip het bestand openen voor handmatige inspectie. De magic bytes (50 4B 03 04 op offset 0) zijn identiek aan elk standaard ZIP-bestand; de aanwezigheid van extension.vsixmanifest binnenin is wat een pakket identificeert als een Visual Studio-extensie.
Beveiliging & veiligheid
RISICO: MEDIUMVSIX-pakketten bevatten gecompileerde .NET DLL's die in het Visual Studio-proces worden uitgevoerd met volledige rechten. Een kwaadaardige extensie kan broncode, inloggegevens en omgevingsvariabelen lezen of persistente backdoors installeren. Installeer alleen vanaf de Visual Studio Marketplace of vertrouwde bronnen. Marketplace-pakketten worden gescand, maar dit is niet waterdicht. Voor een veiligheidsaudit: hernoem naar .zip en inspecteer DLL's voor installatie.
Formaatdetails
in een notendop- VS Code Extension Package - VS Code-extensies worden ook verpakt als .vsix (via de vsce-tool) maar gebruiken het package.json-manifest, niet het Visual Studio vsixmanifest-schema.
Programma's die VSIX-bestanden openen
Technische details
diepe specificaties| Containerformaat | OPC (Open Packaging Conventions) / ZIP-archief met `[Content_Types].xml` en relatie-onderdelen |
| Compressie | DEFLATE (per ZIP-item); individuele items kunnen ongecomprimeerd worden opgeslagen |
| Manifestbestand | `extension.vsixmanifest` - XML die extensie-ID, versie, uitgever, InstallationTarget en asset-paden declareert |
| Manifest-schemaversies | v1 (VS 2010-2011) en v2 (VS 2012 en later, actueel) |
| Magic bytes | `50 4B 03 04` op offset 0 (standaard ZIP-header); onderscheiden van andere ZIP's door `extension.vsixmanifest`-item binnenin |
| MIME-type | `application/vsix` |
| Typische pakketgrootte | 50 KB - 50 MB; de meeste extensies 1-5 MB; grote taalpakketten tot 50 MB |
| Uitvoerbaar installatiebestand | `VSIXInstaller.exe`, meegeleverd met Visual Studio; wordt automatisch gestart bij dubbelklikken op een .vsix-bestand |
| Distributiekanaal | Visual Studio Marketplace (marketplace.visualstudio.com); ook directe bestandsdownload en zakelijke implementatie |
| Beveiligingsmodel | Marketplace valideert Authenticode-handtekeningen op DLL's binnenin; geen cryptografische handtekening op de ZIP-container zelf |
| VS Code opmerking | VS Code gebruikt ook .vsix maar met `package.json`-manifest in plaats van `vsixmanifest`; de twee zijn niet uitwisselbaar |
| Doelspecificatie | `InstallationTarget`-element in manifest vermeldt VS-product-ID's en versiereeksen voor compatibiliteit |
| Uitgebracht | 2010 (Visual Studio 2010; replaced older .vsi/.msi extension model) |
| Laatste versie | VSIX manifest schema v2.0 (introduced VS 2012; current as of VS 2022) |
| Specificatie | learn.microsoft.com |
VSIX conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over VSIX-bestanden.