Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här guiden beskriver de vanligaste MSIX-felen för installation, signering, leverans av appinstallationsprogram, saknade beroenden och körningsbeteende. Varje avsnitt innehåller symtom, grundorsak och lösning.
Om du vill ha en fullständig logg över distributionshändelser öppnar du Zobrazovač udalostí och navigerar till: Applications and Services Logs → Microsoft → Windows → AppxDeployment-Server → Operational
Tips/Råd
För en konsoliderad uppsättning diagnostik kör du även Windows App Certification Kit innan du distribuerar paketet.
Installationsfel
0x80070005 – Åtkomst nekad
Symptom: Add-AppxPackage eller så misslyckas App Installer med felkoden 0x80070005.
Gäller för: Windows 10 och senare, Windows 11
Orsaker och korrigeringar:
| Orsak | Reparera |
|---|---|
| Körs som standardanvändare utan utökade privilegier när paketet kräver installation per dator | Kör PowerShell som administratör. Om du vill installera för alla användare använder du Add-AppxProvisionedPackage i stället för Add-AppxPackage. |
| Antivirus- eller säkerhetsprogram som blockerar paketfilen | Inaktivera tillfälligt genomsökning i realtid eller lägg till ett undantag för .msix / .msixbundle filen |
| Paket förberett för en annan användare och inte distribuerat | Använd Add-AppxProvisionedPackage för att etablera för alla användare |
| ACL:er för filsystem som blockerar läsåtkomst till paketet | Kontrollera behörigheter för paketfilen med icacls– bevilja läsbehörighet till installationsanvändaren |
Paketinstallationen blockerades eftersom appen används
Symptom: Uppdateringen eller ominstallationen misslyckas med ett fel som anger att paketet används. I Zobrazovač udalostí ser du att distributionsåtgärden avvisades.
Gäller för: Windows 10 och senare, Windows 11
Åtgärda: Stäng alla instanser som körs av appen innan du uppdaterar. Om appen är en bakgrundstjänst eller om en bakgrundsaktivitet har registrerats kan du också behöva avsluta dem:
Get-Process -Name "MyApp" | Stop-Process -Force
Add-AppxPackage -Path .\updated-app.msix
För företagsdistributioner bör du överväga att schemalägga uppdateringar under underhållsperioder med hjälp av Intune eller Configuration Manager.
Matchningsfel för MinVersion eller arkitektur
Symptom: Installationen misslyckas med ett fel som "Det gick inte att installera paketet eftersom det inte är kompatibelt med den här versionen av Windows" eller "Paketet gäller inte för den här datorn".
Applies to: Windows 10 och senare
Orsaker och korrigeringar:
| Orsak | Reparera |
|---|---|
Paketet MinVersion i manifestet är högre än os-versionen |
Skapa ett separat paket som riktar sig till den installerade os-versionen eller uppdatera enheten |
| Arkitekturmatchningsfel (t.ex. arm64-paket på x64-enhet) | Skapa och distribuera rätt arkitekturvariant. använda ett paket (.msixbundle) för att hantera flera arkitekturer från en fil |
| Paketet riktar sig mot ett api med endast Windows 11 utan en kompatibilitetskontroll | Lägg till en TargetDeviceFamily inmatning för både Windows 10 och Windows 11, eller skydda API-anropet med en versionskontroll vid körning |
Anmärkning
Använd .msixbundle filer när du distribuerar till miljöer med blandad arkitektur. Ett paket innehåller paket för flera arkitekturer och Windows väljer rätt vid installationen.
Add-AppxPackage lyckas men appen saknas på Start-menyn
Symptom: PowerShell rapporterar framgång, men appen visas inte i Start-menyn eller applistan.
Gäller för: Windows 10 och senare, Windows 11
Vanliga orsaker:
-
Installation per användare jämfört med per dator:
Add-AppxPackageendast installationer för den aktuella användaren. Om du kör som administratör men förväntar dig appen för en annan användare använder duAdd-AppxProvisionedPackagei stället. - Paketet har registrerats men rutan är inte nålad: Appen är installerad men Start-menyn har inte uppfriskats. Logga ut och logga in igen eller kontrollera Inställningar → Appar för att bekräfta installationen.
-
Startmenyposten saknas i manifestet: Kontrollera att elementet
<Application>iAppxManifest.xmlinnehåller enVisualElementspost med en giltigSquare150x150Logo. -
Konflikt med duplicerat paketfamiljenamn: Om en nyare eller äldre version av appen redan har installerats med samma paketfamiljenamn kan den nya installationen ersätta den tyst. Kontrollera med
Get-AppxPackage -Name "YourPackageFamilyName".
Signerings- och certifikatfel
Anmärkning
Detaljerade felkoder och flaggor för SignTool finns i Kända problem och felsökning för SignTool.
Certifikatet är inte betrott (0x800B0109)
Symptom: Installationen misslyckas med felet 0x800B0109 – "En certifikatkedja bearbetas, men avslutas i ett rotcertifikat som inte är betrodd av förtroendeprovidern."
Gäller för: Windows 10 och senare, Windows 11
Orsak: Certifikatet som används för att signera paketet finns inte i enhetens betrodda certifikatarkiv. Detta är vanligt när du använder självsignerade certifikat för utveckling.
Korrigering: Importera signeringscertifikatet till enhetens lokala dator → Trusted People Store (inte det aktuella användararkivet – App Installer kontrollerar endast datorarkivet):
# Export the certificate from the package first (if needed)
$cert = (Get-AuthenticodeSignature -FilePath .\app.msix).SignerCertificate
Export-Certificate -Cert $cert -FilePath .\app-cert.cer
# Import into Trusted People (requires administrator rights)
Import-Certificate -FilePath .\app-cert.cer -CertStoreLocation Cert:\LocalMachine\TrustedPeople
Viktigt!
Importera inte signeringscertifikat till arkivet Betrodda rotcertifikatutfärdare om inte certifikatet är en rot-CA. Om du importerar ej betrodda självsignerade certifikat försvagas enhetens säkerhetsstatus.
För produktionsappar använder du ett certifikat som utfärdats av en betrodd CA eller Azure Artifact Signing (tidigare Trusted Signing), som kedjar till rotcertifikatutfärdaren för Microsoft identitetsverifiering – betrodd som standard på Windows 10 version 1809 och senare, samt Windows 11.
Skillnad i utgivarens namn (0x8007000B, händelse-ID 150)
Symptom: SignTool misslyckas med 0x8007000B och Zobrazovač udalostí (AppxPackagingOM-driftlogg) visar Event ID 150:
error 0x8007000B: The app manifest publisher name (CN=Contoso) must match
the subject name of the signing certificate (CN=Contoso, C=US).
Gäller för: Windows 10 och senare, Windows 11
Cause: attributet Publisher i AppxManifest.xml måste exakt matcha subject-namnet för signeringscertifikatet – inklusive alla unika namnfält i samma ordning.
Lösningen
Hämta det exakta ämnesnamnet från certifikatet:
(Get-Item Cert:\CurrentUser\My\THUMBPRINT).Subject # Example output: CN=Contoso, C=USUppdatera
AppxManifest.xmlför att matcha exakt:<Identity Name="Contoso.MyApp" Publisher="CN=Contoso, C=US" ... />Paketera om med
MakeAppx.exeoch signera igen.
Tips/Råd
När du använder Azure Artefaktsignering (tidigare betrodd signering) måste utgivarvärdet i manifestet matcha din verifierade identitet – som finns i Azure-portalen under certifikatprofilens Subject-namn fält.
Fel vid appinstallation och webbleverans
Felmatchning av schemaversion i .appinstaller-filen
Symptom: App Installer kan inte parsa eller bearbeta .appinstaller filen, ofta med ett allmänt fel om en ogiltig fil eller ett schema som inte stöds.
Applies to: Windows 10 och senare (versionsberoende – se tabell)
Cause: Attributet Uri för rotelementet <AppInstaller> anger en schemaversion som den installerade versionen av Windows inte stöder.
Schema-versioner efter Windows version:
| Windows-version | Lägsta schemaversion som stöds |
|---|---|
| Windows 10 version 1709 | 1.0.0.0 |
| Windows 10 version 1803 | 1.1.0.0 |
| Windows 10 version 1809 | 1.2.0.0 |
| Windows 10 version 1903 och senare Windows 11 | 1.3.0.0, 1.4.0.0, 1.5.0.0 |
Korrigering: Ange schema-URI:n i .appinstaller filen till den lägsta version som ditt operativsystem som stöds minst kräver:
<?xml version="1.0" encoding="utf-8"?>
<AppInstaller Uri="https://example.com/app.appinstaller"
Version="1.0.0.0"
xmlns="http://schemas.microsoft.com/appx/appinstaller/2017">
Undvik att använda den senaste schemaversionen om du behöver stöd för äldre Windows 10 versioner.
Filer som hanteras med felaktig MIME-typ eller saknad Content-Length-header
Symptom: Appinstallationsprogrammet misslyckas vid installation från en HTTP/HTTPS-slutpunkt. Felet kan vara allmänt, till exempel 0x80072F76 ("Okänt fel") eller "Appinstallationen misslyckades".
Applies to: Windows 10 och senare
Orsak: Webbservern betjänar .msixfilen , .msixbundleeller .appinstaller med ett felaktigt Content-Type huvud eller utelämnar Content-Length rubriken.
Korrigering: Konfigurera webbservern så att den hanterar MSIX-relaterade filer med rätt MIME-typer:
| Filtillägg | Obligatorisk MIME-typ |
|---|---|
.msix |
application/msix |
.msixbundle |
application/msixbundle |
.appinstaller |
application/appinstaller |
.appx |
application/appx |
.appxbundle |
application/appxbundle |
Se också till att varje svar innehåller ett giltigt Content-Length huvud – detta gäller både GET för och HEAD begäranden.
För IIS lägger du till MIME-typmappningar i web.config. För Azure Static Web Apps eller GitHub pages kan MIME-typer för dessa tillägg behöva explicit konfiguration eller en anpassad värdlösning.
Beroenden saknas
Framework-paketet är inte installerat (VCLibs, .NET, Windows App SDK)
Symptom: Appen installeras men kraschar vid start eller installationen misslyckas med ett beroendefel som refererar till ett paketfamiljenamn som Microsoft.VCLibs, Microsoft.WindowsAppRuntime eller Microsoft.NET.Native.
Gäller för: Windows 10 och senare, Windows 11
Vanliga ramverk och var du kan hämta dem:
| Ramverk | Behövs när | Källa |
|---|---|---|
| VCLibs (x64/x86/arm64) | Appen använder C++-körning | Microsoft Store (installeras automatiskt) eller direkt nedladdning |
| .NET 8 Körmiljö för skrivbord | Appen är inriktad på .NET 8 | Ingår i Windows App SDK, eller direct download |
| Windows App SDK (WinAppSDK) | Appen använder WinUI 3 eller andra WinAppSDK-API:er | Windows App SDK versioner på GitHub |
Korrigering för utveckling: När du installerar via Add-AppxPackage lokalt lägger du till parametern -DependencyPackages eller installerar ramverkspaketen först:
# Install VCLibs dependency first
Add-AppxPackage -Path .\Microsoft.VCLibs.x64.14.00.Desktop.appx
# Then install your app
Add-AppxPackage -Path .\MyApp.msix
Korrigering för distribution: Om du distribuerar utanför Store ska du inkludera ramverkspaket i .appinstaller filen under <Dependencies>:
<Dependencies>
<Package Name="Microsoft.VCLibs.140.00.UWPDesktop"
Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US"
Version="14.0.30704.0"
Uri="https://aka.ms/Microsoft.VCLibs.x64.14.00.Desktop.appx"
ProcessorArchitecture="x64"/>
</Dependencies>
Anmärkning
När du distribuerar via Microsoft Store hämtas och installeras ramverksberoenden automatiskt. Manuell beroendehantering behövs bara för sidoladdning och företagsutplaceringar.
SignTool hittades inte i CI/CD
Symptom: CI/CD-pipeline (GitHub Actions, Azure DevOps) misslyckas med ett fel som 'signtool' is not recognized as an internal or external command eller SignTool.exe: not found.
Applies to: Windows 10 och senare, Windows 11 (signeringsmaskin)
Cause: SignTool är en del av Windows SDK och ingår inte som standard i CI-runner-bilder.
Fixes:
Option 1 – Installera Windows SDK i pipelinen (GitHub Actions):
- name: Install Windows SDK
run: |
winget install --id Microsoft.WindowsSDK.10.0.22621 --accept-source-agreements --accept-package-agreements
Alternativ 2 – Använd WinApp CLI (enklast för MSIX-signering):
- name: Install WinApp CLI
run: winget install -e --id Microsoft.WinAppCLI --source winget --accept-source-agreements
- name: Sign MSIX
run: winapp sign output\MyApp.msix --cert ${{ secrets.CERT_THUMBPRINT }}
Option 3 – Använd Azure artefaktsignering (rekommenderas för produktion):
- name: Sign with Azure Artifact Signing
uses: azure/trusted-signing-action@v0
with:
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
azure-client-secret: ${{ secrets.AZURE_CLIENT_SECRET }}
endpoint: ${{ secrets.AZURE_ARTIFACT_SIGNING_ENDPOINT }}
trusted-signing-account-name: ${{ secrets.AZURE_CODE_SIGNING_NAME }}
certificate-profile-name: ${{ secrets.AZURE_CERT_PROFILE_NAME }}
files-folder: ${{ github.workspace }}\output
files-folder-filter: msix
Anmärkning
Åtgärden GitHub heter azure/trusted-signing-action (det tidigare tjänstnamnet). Detta är den officiella åtgärden oavsett omprofilering till Artefaktsignering.
En fullständig genomgång av konfigurationen av CI/ CD-signering finns i Guiden Signera ditt MSIX-paket – från slutpunkt till slutpunkt.
Körnings- och virtualiseringsbeteende
MSIX-paket körs i en lättviktsappcontainer. Vissa beteenden som verkar vara buggar är faktiskt avsiktliga – containern fångar upp fil- och registeråtgärder för att skydda resten av systemet.
Varför filskrivningar verkar försvinna (omdirigering av VFS-fil)
Symptom: Appen skriver en fil till en sökväg som C:\Program Files\MyApp\config.ini vid körning, men filen visas inte där. Appen läser tillbaka värdet korrekt, men andra processer eller användare ser det inte.
Gäller för: Windows 10 och senare, Windows 11
Förklaring: MSIX använder omdirigering av virtuellt filsystem (VFS). Skrivningar till skyddade systemsökvägar omdirigeras tyst till en container per användare:
%LocalAppData%\Packages\<PackageFamilyName>\LocalCache\Local\VFS\
Detta är avsiktligt – det hindrar MSIX-appar från att ändra delade systemplatser, vilket stöder ren avinstallation.
Alternativ:
-
Använd appdatamappar i stället: Skriv till
ApplicationData.Current.LocalFolder(WinRT) eller%LocalAppData%\Packages\<PFN>\LocalState\för data per användare som ska sparas. -
Använda
AppData\Roamingför data som ska flyttas mellan enheter. -
Granska VFS-containern för att se omdirigerade filer:
%LocalAppData%\Packages\<PackageFamilyName>\LocalCache\
Mer information om vilka sökvägar som virtualiseras finns i Felsöka körningsproblem i en MSIX-container.
Varför registerskrivningar verkar försvinna (registervirtualisering)
Symptom: Appen skriver till HKEY_LOCAL_MACHINE\Software\MyApp\ vid körning, men värdet är inte synligt för andra processer eller kvarstår efter en ominstallation.
Gäller för: Windows 10 och senare, Windows 11
Förklaring: MSIX fångar upp skrivningar till HKLM\Software och omdirigerar dem till en registerdatafil per paket som är isolerad från resten av systemet. Vid avinstallation tas hive bort.
Alternativ:
- Skriv inställningar per användare till
HKEY_CURRENT_USER\Software\<AppName>– dessa virtualiseras inte och bevaras. - Använd API:erna Windows ApplicationData för lagring av strukturerade inställningar.
- Deklarera registerposter som måste delas mellan användare eller processer i
AppxManifest.xmlmed hjälp av mekanismen<Extensions>/<com:Extension>.
En djupare titt på MSIX-containerbeteendet finns i Förstå hur paketerade skrivbordsappar körs på Windows.
Windows 10 MSIX-begränsningar
Vissa MSIX-funktioner kräver Windows 11 eller en specifik Windows 10 version. Om du distribuerar till Windows 10 enheter bör du vara medveten om följande.
Funktioner som kräver Windows 10 version 2004 (version 19041) eller senare
| Feature | Lägsta version |
|---|---|
Schema för automatisk uppdatering 2021 (ShowPrompt, UpdateBlocksActivation) |
Windows 10 2004 (19041) |
Tvingande av paketintegritet (uap10:PackageIntegrity) |
Windows 10 2004 (19041) |
| Automatisk reparation av App Installer | Windows 10 2004 (19041) |
| Ingen separat inställning för sideloading av betrodda appinstallationer. Se Aktivera din enhet för utveckling för aktuella krav. | Windows 10 2004 (19041) |
Funktioner som kräver Windows 11
| Feature | Notes |
|---|---|
| Begränsad paketidentitet utan komplett paketering | Kräver Windows 11 |
| MSIX-stöd för opackade appar med extern platsangivelse (fullständigt plattformsstöd) | Vissa API:er förbättrades i Windows 11 |
| Förbättrad MSIX-installationsprestanda per dator | Windows 11 optimeringar |
Windows 10 enheter som är äldre än version 1709
MSIX stöds inte internt på Windows 10 versioner före 1709 (Fall Creators Update). Om du vill distribuera MSIX-paket till dessa enheter använder du MSIX Core, som ger ett kompatibilitetslager för Windows 10 versioner på nednivå.
Manifesttillägg
Vissa AppxManifest.xml namnområdestillägg är endast Windows 11. Om du deklarerar dem på ett paket som är inriktat på Windows 10 kan schemaverifieringen misslyckas under paketeringen eller avvisas under installationen. Kontrollera schemareferensen för apppaketmanifestet för de MinOSVersion som anges för varje tillägg.
Felsökningstips
Om du vill kontrollera vilka MSIX-funktioner som är tillgängliga på en specifik Windows 10 version kontrollerar du sidan MSIX-funktioner och plattformar som stöds, som listar funktionstillgänglighet efter operativsystemversion.