Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Fontos
Az AppContainerben futó bármely folyamat esetében, ha a DeploymentManager.Initialize meghívását okozza, az alkalmazásnak deklarálnia kell a packageManagementkorlátozott képességet a csomagjegyzékben. További részletekért lásd : A Deployment Manager automatikus inicializálója.
Az örökölt alkalmazásokhoz készült AppContainer témakör az AppContainer környezetével és előnyeivel kapcsolatos összes szükséges háttérinformációt ismerteti; ez a témakör C# és C++ kód példákat is tartalmaz annak tesztelésére, hogy egy folyamat fut-e egy AppContaineren belül.
Az éppen elolvasott témakör bemutatja, hogyan vehet igénybe egy MSIX-lel csomagolt alkalmazást, és hogyan konfigurálhatja egyszerűen úgy, hogy az AppContainer környezetben (egy egyszerűsített alkalmazástárolóban) fusson. Univerzális Windows-platform (UWP) alkalmazások automatikusan AppContainer-alkalmazások. Az MSIX-sel csomagolt asztali alkalmazást azonban appContainer-alkalmazásként is konfigurálhatja.
Az AppContainer-alkalmazások folyamata és gyermekfolyamatai egy egyszerűsített alkalmazástárolóban futnak, ahol csak a számukra adott erőforrásokhoz férhetnek hozzá. A fájlrendszer és a beállításjegyzék virtualizálásával elkülönítve vannak. Ennek eredményeképpen az AppContainerben implementált alkalmazások nem törhetők fel, hogy a korlátozott hozzárendelt erőforrásokon kívüli rosszindulatú műveleteket engedélyezhessenek.
Jótanács
A csomagolatlan alkalmazások az AppContainerben is futtathatók. De az AppContainer használata különösen egyszerű, ha MSIX-et használsz. A jelen témakörben ismertetett forgatókönyvek tehát a csomagolt alkalmazásokról szólnak.
WinUI 3-projekt konfigurálása az AppContainerhez
Az új projekt létrehozása csomagolt C# vagy C++ WinUI 3 asztali alkalmazáshoz című szakasz lépései bemutatják az új WinUI 3-projekt létrehozásának alapértelmezett és ajánlott módját.
Alapértelmezés szerint a projekt fájlja egy teljes megbízhatósági (azaz közepes integritási szintű) csomag konfigurációját Package.appxmanifest tartalmazza. A vonatkozó szakaszok a következőképpen néznek ki:
...
<Applications>
<Application ...
EntryPoint="$targetentrypoint$">
...
</Application>
</Applications>
<Capabilities>
<rescap:Capability Name="runFullTrust" />
</Capabilities>
...
Ha a csomagot AppContainer-alkalmazásként szeretné konfigurálni, szerkesztheti az EntryPoint attribútumot, és eltávolíthatja a korlátozott képességdeklarációt (de megtarthatja a Képességek elemet). Tetszik:
...
<Applications>
<Application ...
EntryPoint="windows.partialTrustApplication">
...
</Application>
</Applications>
<Capabilities/>
...
Ha a csomagja települ a Windows 10, 2004-es verzióra (10.0; Build 19041) és/vagy ennél újabb verziókra, akkor ahelyett hogy beállítaná az EntryPoint elemet, beállíthatja az uap10:TrustLevel és uap10:RuntimeBehavior értékeket (miután deklarálta az XML névtér előtagját, ahogyan ez látható). Tetszik:
<Package ...
xmlns:uap10="http://schemas.microsoft.com/appx/manifest/uap/windows10/10"
...>
...
<Applications>
<Application ...
EntryPoint="$targetentrypoint$"
uap10:TrustLevel="appContainer"
uap10:RuntimeBehavior="packagedClassicApp">
...
</Application>
</Applications>
<Capabilities/>
...
További információkért tekintse meg az alábbi témaköröket:
- Alkalmazási elem
- A uap10 a Windows 10 2004-es verziójában (10.0; Build 19041) került bevezetésre.
- Asztali alkalmazástípusok
WinUI 3 kétprojektes megoldás konfigurálása az AppContainerhez
Az előző szakasz az egyprojektes MSIX folyamatát ismertette; amelyet ajánlunk, és amely az új WinUI 3-projektek alapértelmezett értéke. Bővebb információért lásd: Az alkalmazás csomagolása egyprojektes MSIX használatával.
Előfordulhat azonban, hogy van egy WinUI 3-projektje, amely az egyprojektes MSIX szolgáltatás bevezetése előtt készült. Ebben az esetben két projekt áll majd a megoldásban – az alkalmazás project, valamint egy további Windows alkalmazáscsomagoló Project. Ha migrálhatja a projektet egyprojektes MSIX-be, akkor ez ideális. Az előző szakaszban található útmutatást is követheti. Bővebb információért lásd: Az alkalmazás csomagolása egyprojektes MSIX használatával.
Ha nem tudja migrálni a projektet egyprojektes MSIX-be, akkor ez a szakasz azt ismerteti, hogyan konfigurálhatja a csomagot AppContainer-alkalmazásként.
A Windows Application Packaging Project olyan alapértelmezett beállítást jelent, amely felülírja a Package.appxmanifest konfigurációját. A projekt úgy viselkedik, mintha a projektfájlban egy TrustLevel tulajdonság teljes értékűre lett volna állítva.
A vélelmezett tulajdonságérték orvoslásához bontsa ki a csomagolási projekt Függőségek>alkalmazás csomópontját, és válassza ki azt a csomópontot, amely a WinUI 3 projektre mutató hivatkozást jelöli. Ezután Visual Studio Properties ablakában (nem projekttulajdonságok), a Trust Level tulajdonságnál válassza ki a Partial Trust értékét.
A csomagolási projekt projektfájlja most a következő explicit tulajdonságot tartalmazza:
...
<ItemGroup>
<ProjectReference Include="...">
<TrustLevel>Partial</TrustLevel>
</ProjectReference>
</ItemGroup>
...
Most pedig eltávolíthatja <rescap:Capability Name="runFullTrust" /> a csomagolási projekt fájljából Package.appxmanifest .
Windows alkalmazás projekt (C++ Win32 WndProc típusú alkalmazás) konfigurálása AppContainerhez
Ez a szakasz az Ön számára készült, ha rendelkezik egy C++ Win32 WndProc típusú projekttel, amely a Windows alkalmazás projekt sablonnal lett létrehozva. Az első lépés dióhéjban egy C++ Windows Application Packaging Project hozzáadása a megoldáshoz. A pontos lépések részletei a Visual Studio MSIX-csomagolásához az asztali alkalmazásokhoz megtalálhatók a következő cím alatt: Asztali alkalmazás beállítása MSIX-csomagoláshoz a Visual Studio-ban. Ez a témakör a C++ vagy C# nyelven írt asztali alkalmazásokra vonatkozik.
Ezután nyissa meg az új csomagolási projekt projektfájlját, és adjon hozzá egy TrustLevel tulajdonságot a meglévő ProjectReference tulajdonsághoz , például a következőhöz:
...
<ItemGroup>
<ProjectReference Include="...">
<TrustLevel>Partial</TrustLevel>
</ProjectReference>
</ItemGroup>
...
A buildelés során a következő hibaüzenet jelenhet meg: "hiba APPX1673: Az alkalmazásjegyzék hiányzik a szükséges "PhoneIdentity" elemből. Ha ez történik, szerkessze a projekt fájlját Package.appxmanifest a következő módon:
<Package ...
xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
...>
...
<mp:PhoneIdentity
PhoneProductId="A GUID in the form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx."
PhonePublisherId="A GUID in the form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.">
</mp:PhoneIdentity>
...
WPF- vagy WinForms-projekt konfigurálása az AppContainerhez
Ez a szakasz az Ön számára készült, ha a következők valamelyike van:
- Windows megjelenítési alaprendszer (WPF) alkalmazásprojekt, amelyet a C# WPF alkalmazás projektsablonnal hoztak létre. Ez egy .NET projektet biztosít, és eltér a WPF App (.NET Framework) nevű projektsablontól. Vagy
- Windows Forms (WinForms) alkalmazásprojekt, amely a C# Windows Forms Alkalmazás projektsablonnal lett létrehozva. Ez egy .NET projektet biztosít, és eltér a Windows Forms App (.NET Framework) nevű projektsablontól.
Az első lépés dióhéjban egy C# Windows Application Packaging Project hozzáadása a megoldáshoz. További részletek találhatók a pontos lépésekről a Visual Studio MSIX csomagolásra való beállításával kapcsolatban az asztali alkalmazásainál.
Ezután bontsa ki a csomagolási projekt Dependencies>Applications csomópontját, és válassza ki azt a csomópontot, amely a WPF vagy WinForms-projektre mutató hivatkozást jelöli. Ezután Visual Studio Properties ablakában (nem projekttulajdonságok), a Trust Level tulajdonságnál válassza ki a Partial Trust értékét.
Kapcsolódó témakörök
- MSIX-konténer áttekintése
- AppContainer örökölt alkalmazásokhoz
- Új projekt létrehozása csomagolt C# vagy C++ WinUI 3 asztali alkalmazáshoz
- Alkalmazási elem
- A uap10 a Windows 10 2004-es verziójában (10.0; Build 19041) került bevezetésre
- Asztali alkalmazástípusok
- Csomagold be az alkalmazásodat egyprojektes MSIX-szel
- Windows megjelenítési alaprendszer (WPF)
- Windows Forms (WinForms)
- Állítsa be asztali alkalmazását MSIX csomagoláshoz a Visual Studio-ban