EtherApps Forge 1.0.6 is uit en verbreedt het product in twee richtingen tegelijk. Legacy-applicaties die netjes packagen maar zich daarna verkeerd gedragen binnen de MSIX-container kunnen nu worden verholpen met Package Support Framework-fixes die als onderdeel van het packagen worden klaargezet. En voor het eerst is Forge niet alleen voor applicaties die je uit het landschap van iemand anders vastlegt: de forge_msix-CLI is een directe vervanger van makeappx.exe van Microsoft, zodat een ontwikkelteam of softwareleverancier zijn eigen buildmap binnen een bestaande pipeline kan omzetten in een ondertekende, gevalideerde MSIX.
Beide wijzigingen pakken dezelfde klacht aan vanaf tegenovergestelde kanten van het packagingprobleem. Een package gebouwd krijgen is al een tijd niet meer het lastige deel. Het correct laten draaien, en het correct laten draaien bij elke build die uitgaat, daar zit het echte werk.
PSF-compatibiliteitsfixes: als de app prima packaget maar zich niet gedraagt
De meest frustrerende uitkomst in een MSIX-programma is niet een package dat niet bouwt. Het is een package dat bouwt, ondertekent, installeert, opstart en dan stilletjes het verkeerde doet.
Dat gebeurt omdat de MSIX-container de regels verandert waarvoor een oudere applicatie is geschreven. Drie patronen veroorzaken het meeste ervan:
- Wegschrijven naast de eigen executable. Applicaties die instellingen, logs of licentiebestanden in hun eigen installatiemap zetten, schrijven naar een locatie die de container beschermt.
- Uitgaan van een vast installatiepad. Alles met een hard gecodeerd
C:\Program Files\Vendor\App-pad, of een launcher die een specifieke werkmap verwacht, vindt geen van beide waar het die verwacht. - Machine-registry-locaties lezen. Configuratie onder
HKLMdie de container omleidt, staat niet meer waar de applicatie ernaar zoekt.
Het Package Support Framework is precies hiervoor het open-source antwoord van Microsoft. Het past gerichte fixes toe tijdens runtime, zonder enige wijziging aan de broncode van de applicatie, en de belangrijke zijn bestands- en registry-omleiding plus correctie van de werkmap. Als er voor een legacy-applicatie geen leverancier meer is die haar herbouwt, is PSF vaak het verschil tussen een applicatie die uitgeleverd wordt en een die wordt afgeschreven.
Vanaf 1.0.6 zet Forge het framework klaar als onderdeel van het packagen in plaats van het achteraf als handmatige stap te laten liggen. Het praktische effect op een assessment is dat de categorie applicaties met de aantekening "levert uit met fix-ups" merkbaar groter wordt, en de categorie "kan nog niet mee" kleiner. We schreven over waarom deze remediation-laag ertoe doet voor app attach en MSIX-levering in het Package Support Framework en het MSIX-app-attach-risico, en het geldt net zo direct voor via Intune geleverde packages op fysieke apparaten.
Packaging voor ontwikkelaars en ISV's: je eigen builds, ondertekend en gevalideerd
Capture-first packaging lost een legacy-probleem op: de installer is weg, dus wordt de draaiende applicatie de bron van waarheid. Dat was nooit de hele markt. Genoeg teams hebben een prima buildmap en vinden MSIX toch onhandig, omdat het gereedschap eromheen uitgaat van een geïnstalleerde Windows-SDK, een er achteraf aan geplakte ondertekeningsstap en een mens die het resultaat controleert.
forge_msix is gebouwd als directe vervanger van makeappx.exe. Het roept de Windows-packaging-engine rechtstreeks aan in plaats van afhankelijk te zijn van een SDK op de build-agent, en de packaging-commando's nemen dezelfde schakelaars, dus een bestaand script blijft werken als je de binary vervangt.
Naast pariteit voegt de release toe wat een release-pipeline echt nodig heeft:
# Scaffold a manifest from the built executable
forge_msix prepare .\publish\MyApp.exe
# Create and sign in one step, from the agent certificate store
forge_msix create -s .\publish --package-output .\artifacts\MyApp.msix `
--sign --cert-sha1 $env:SIGNING_THUMBPRINT --cert-store My --cert-machine-store `
--timestamp-server http://timestamp.digicert.com --validate-schema
# Gate the build on structural validation
forge_msix validate /p .\artifacts\MyApp.msix --json
Drie details doen ertoe als je dit in CI bedraadt. Onderteken vanuit een certificate store op thumbprint in plaats van een PFX op schijf, zodat er geen wachtwoord in een builddefinitie belandt. Voeg een RFC 3161-tijdstempel toe zodat handtekeningen geldig blijven nadat het certificaat verloopt. En vertak op de exitcode, want validate onderscheidt "het package is geanalyseerd en is ongeldig" van "de run zelf is mislukt", en dat is het verschil tussen een kapotte build en een kapotte agent.
Er is ook een smoke-testcommando dat het ondertekende package installeert, start en sluit, deïnstalleert en een JSON-rapport schrijft, plus een assessmentronde die een package scoort tegen best-practice-signalen voor packaging. Geen van beide hoort bij elke commit. Beide zijn de moeite waard op een release candidate.
Voor teams die buiten een store uitleveren genereert make-appinstaller het .appinstaller-manifest uit de echte identiteit van het ondertekende package, zodat sideloaded kopieën zichzelf kunnen bijwerken vanaf een HTTPS-locatie.
Wat dit betekent als je landschap gemengd is
De meeste organisaties zijn niet puur het een of het ander. Ze hebben ingekochte software met verdwenen installers, een handvol intern gebouwde bedrijfsapplicaties, en een Windows 11- of Intune-deadline die alles omvat. Tot nu toe volgden die twee helften verschillende routes en verschillend gereedschap.
Met 1.0.6 delen ze één packagingroute: capture-first voor de applicaties waarvan de installer weg is, packaging vanuit de buildmap voor die je eigen ontwikkelaars compileren, PSF-remediation voor alles wat de container dwarszit, en aan het eind dezelfde signing, validatie en Intune-levering. De routekeuze blijft bij een mens. De mechaniek houdt op twee losse projecten te zijn.
Beschikbaarheid
EtherApps Forge 1.0.6.0 is nu beschikbaar. Forge is een Win32-applicatie die je in je eigen omgeving uitrolt in plaats van een gehoste dienst, dus captures en packaging blijven onder jouw controle, en het legt zowel oudere als actuele Windows-versies vast. Elke licentie bevat training en support, en er is een gratis proefperiode van 7 dagen zodat een packaging-, endpoint- of ontwikkelteam het resultaat op één echte applicatie kan aantonen voordat het bredere landschap wordt vastgelegd.
Als je blokkade een legacy-applicatie is die niemand kan herbouwen, begin dan met legacy Windows-applicaties moderniseren of met onze gids over een applicatie herpackagen als de installer kwijt is. Zit de blokkade aan de leverkant, dan dekt MSIX-packaging en deployment signing, PSF-review en Intune-uitrol. Het product zelf staat op EtherApps Forge.
Probeer EtherApps Forge 7 dagen gratis en package één echte applicatie, vastgelegd of gebouwd, van bron tot ondertekende MSIX.
