Wat is het APPLICATION-bestandsformaat?
Een .application-bestand is een ClickOnce Deployment Manifest - een XML tekstdocument dat de ClickOnce-technologie van Microsoft gebruikt om Windows-desktopapplicaties te beschrijven, te distribueren en geruisloos bij te werken vanaf een webserver of netwerkshare.
Wanneer een gebruiker een .application-bestand opent, leest de ClickOnce-runtime (dfshim.dll) het manifest, maakt contact met de download-URL van de uitgever, haalt de applicatiebestanden op of werkt deze bij in een cache per gebruiker onder %LocalAppData%\Apps, en start vervolgens de echte .exe. Er zijn geen beheerdersrechten of traditionele installatieprogramma's vereist.
Het manifest is een UTF-8-gecodeerde XML, doorgaans 2-20 KB groot. Het wortelelement is <asmv1:assembly>, beheerd door het urn:schemas-microsoft-com:asm.v2 schema. Belangrijke kind-elementen zijn onder meer:
<assemblyIdentity>- benoemt de applicatie, versie, processorarchitectuur en public key token<deployment>- specificeert de URL voor updatecontrole en of updates vóór of na de start worden uitgevoerd<dependentAssembly>- verwijst naar het bijbehorende.manifest(.exe.manifest) dat elk bestand in het pakket met de bijbehorende hash vermeldt
Het bestand heeft geen binaire header; het opent als platte tekst beginnend met een standaard <?xml?> declaratie.
Bijna alle gepubliceerde .application-bestanden zijn digitaal ondertekend. De ClickOnce-runtime dwingt een XML-DSIG-hash af over de body van het manifest en een optioneel Authenticode-uitgeverscertificaat, en weigert de implementatie als een van beide controles faalt. Ondertekening wordt afgehandeld door de Publish-wizard van Visual Studio of de SDK-tools mage.exe / mageui.exe.
ClickOnce blijft ondersteund tot en met .NET 8 en later, hoewel MSIX nu het door Microsoft aanbevolen verpakkingsformaat is voor nieuwe desktopprojecten.
Beveiliging & veiligheid
RISICO: MEDIUMHet .application-bestand zelf is onschadelijke XML en kan niet uit zichzelf worden uitgevoerd, maar het is een launcher die een programma downloadt en uitvoert vanaf een URL - het echte risico is dus waar het naar verwijst. ClickOnce stelde uitgevers historisch gezien in staat om apps te implementeren met relatief weinig gebruikersweerstand, waar aanvallers misbruik van hebben gemaakt (een golf van malware in 2023-2024 gebruikte ClickOnce .application-links om geruisloos payloads te installeren vanaf servers van aanvallers). Voer alleen een .application uit van een uitgever die u vertrouwt, controleer de handtekening/uitgevers-prompt en wees achterdochtig bij bestanden die per e-mail of van een onbekende webpagina zijn ontvangen. Inspecteer de implementatie-URL in de XML bij twijfel. Ga er nooit van uit dat een .application veilig is omdat het „alleen XML” is.
Formaatdetails
in een notendopProgramma's die APPLICATION-bestanden openen
Technische details
diepe specificaties| Formaat-type | XML deployment manifest (UTF-8 platte tekst, geen binaire header) |
| MIME-type | application/x-ms-application |
| Wortel XML-element | <asmv1:assembly> met de asm.v1 en asm.v2 Microsoft assembly namespaces |
| XML-schema namespace | urn:schemas-microsoft-com:asm.v2 |
| Typische bestandsgrootte | 2 KB - 20 KB |
| Digitale handtekening | XML-DSIG SHA-256 hash over manifest body, plus optioneel Authenticode-uitgeverscertificaat |
| Handtekeninghandhaving | ClickOnce-runtime weigert implementatie als de manifest-hash of het uitgeverscertificaat de validatie niet doorstaat |
| Runtime-handler | dfshim.dll (Desktop Framework Shim); PresentationHost.exe voor op WPF gebaseerde apps |
| Installatiecache per gebruiker | %LocalAppData%\Apps\2.0\ - geen beheerdersrechten vereist |
| Belangrijkste XML-elementen | <assemblyIdentity>, <deployment>, <dependentAssembly>, <Signature> |
| Bijbehorend bestand | .exe.manifest (applicatiemanifest) met alle pakketbestanden en hun cryptografische hashes |
| Updatebeleid-declaratie | <deployment> element met install-attribuut en beforeApplicationStartup / afterApplicationStartup update-controlemodus |
| Auteurstools | Visual Studio Publish-wizard, mage.exe, mageui.exe (.NET SDK opdrachtregeltools) |
| Geassocieerd platform | Alleen Windows - ClickOnce-runtime is niet beschikbaar op macOS of Linux |
| Codering | UTF-8 XML-tekst; opent in elke teksteditor; standaard <?xml?> declaratie op offset 0 |
| Uitgebracht | 2005 (.NET Framework 2.0 / Visual Studio 2005) |
| Laatste versie | ClickOnce for .NET 5+/.NET 8 (2020-2024); schema urn:schemas-microsoft-com:asm.v2 |
| Specificatie | learn.microsoft.com |
APPLICATION conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over APPLICATION-bestanden.