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.
Ez a témakör a következő lehetőségeket ismerteti:
- Melyik csomagolási lehetőséget érdemes választani az alkalmazásához (csomagolt, külső helyet használó csomagolt vagy nem csomagolt).
- Az alkalmazás üzembe helyezésének/terjesztésének és telepítésének módját.
- Az alkalmazás futásidejű folyamata, beleértve azt is, hogy mennyire lesz elkülönítve, és milyen API-k lesznek elérhetők számára.
Ezeket a döntéseket az új és a meglévő alkalmazások esetében is meghozhatja. Ha azonban még egy új alkalmazás tervezési fázisában van, mielőtt elkezdené átgondolni a fenti szempontokat, először döntse el, hogy milyen fejlesztői platformot és felhasználói felületi keretrendszert fog használni az alkalmazáshoz. A döntéssel kapcsolatban lásd: Ismerkedés a WinUI-val.
Csomagolási lehetőségek: csomagolva, külső helyen csomagolva vagy csomagolatlan
Az alkalmazáshoz használni kívánt csomagolási lehetőségeket először egy csomagdentitásnak nevezett fogalom határozza meg. Egy alkalmazás számos Windows-bővíthetőségi funkciót — például háttérfeladatokat, olyan push értesítési forgatókönyveket, amelyek háttérbeli kézbesítést vagy COM-aktiválást használnak, egyéni helyimenü-bővítményeket és megosztási célokat — csak akkor használhat, ha futásidőben csomagidentitással rendelkezik, mert az operációs rendszernek (OS) tudnia kell azonosítani az adott API hívóját. Csak a csomagolt alkalmazások (beleértve a külső helyre csomagolt alkalmazásokat) rendelkeznek csomagidentitással.
A csomagolt, a külső helyhez csomagolt és a csomagolatlan modellek teljes ismertetéséhez, valamint azok kiválasztásához tekintse meg a Csomagolás áttekintését. A csomagidentitástól függő funkciókért tekintse meg a csomagidentitást igénylő funkciókat.
További információ arról, hogyan konfigurálhatja az alkalmazást csomagoltként vagy csomagolatlanként:
-
WinUI 3-alkalmazások (Windows App SDK). Lásd a Projekt tulajdonságai között a
AppxPackageVisual Studio projekt tulajdonságot; valamint a WinUI 3-projekt létrehozása és futtatása című témakört. - Asztali alkalmazások. Lásd : Asztali alkalmazás beállítása MSIX-csomagoláshoz.
- Univerzális Windows-platform (UWP) alkalmazások. Az UWP-alkalmazások már csomagoltként vannak konfigurálva; és ez a konfiguráció nem módosítható.
Tekintse meg a jelen témakör Windows Csomagkezelő és a WinGet-ügyfél szakaszát is.
Üzembe helyezés/disztribúció/telepítés
A csomagolt alkalmazások az MSIX használatával vannak csomagolva és telepítve is. Ha úgy dönt, hogy külső helyen csomagol, ez egy "saját telepítő" modell, így továbbra is saját maga végzi a telepítő munkáját (lásd: Csomagazonosság biztosítása külső helyen lévő csomagolással). A csomagolatlan alkalmazások egyáltalán nem érintik az MSIX-et.
A csomagolás fontos, mert az MSIX zökkenőmentes telepítési, eltávolítási és frissítési élményt biztosít a felhasználóknak, támogatja a növekményes és automatikus frissítéseket, a Microsoft Store-ra van optimalizálva, együttműködik az Azure Virtual Desktop MSIX app attach funkciójával, és aláírva erős manipuláció elleni védelmet nyújt.
Az üzembe helyezéssel és a terjesztési útmutatóval kapcsolatban tekintse meg a Csomag és üzembe helyezés áttekintését , valamint a Terjesztési útvonal kiválasztása című témakört. Lásd még a jelen témakör Windows Csomagkezelő és WinGet-ügyfél szakaszát.
AppContainer vagy Medium IL
Az alkalmazás AppContainerben való futtatásának lehetősége biztonsági kérdés. Az AppContainer-alkalmazás folyamata, valamint annak gyermekfolyamatai egy könnyűsúlyú alkalmazástárolóban futnak, ahol csak a számukra adott erőforrásokat érhetik el. 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.
A csomagolt vagy csomagolatlan alkalmazások konfigurálhatók úgy, hogy egy AppContainerben fussanak. A folyamat azonban egyszerűbb a csomagolt alkalmazások esetében. Ha egy alkalmazás nem AppContainer-alkalmazás, akkor közepes IL-alkalmazás .
További információ: AppContainer az örökölt alkalmazásokhoz és az MSIX AppContainer-alkalmazásokhoz.
További információ arról, hogyan konfigurálhatja az alkalmazást appContainerben vagy Közepes IL-ben való futtatásra:
-
WinUI-alkalmazások (Windows App SDK). Tekintse meg a
uap10:TrustLevelalkalmazáscsomag jegyzék attribútumát a WinUI projekt AppContainerhez való konfigurálásához. -
Asztali alkalmazások. Lásd a
TrustLevelVisual Studio project tulajdonságot MSIX AppContainer apps (az alkalmazás típusának megfelelő szakaszban). - Univerzális Windows-platform (UWP) alkalmazások. Az UWP-alkalmazások már konfigurálva vannak az AppContainerben való futtatásra; és ez a konfiguráció nem módosítható.
Ne feledje, hogy a csomagolatlan alkalmazások nem rendelkeznek alkalmazáscsomag-jegyzékekkel. A csomagolatlan alkalmazások esetében tehát az AppContainer vagy -Medium-IL döntését a project fájlban deklarálhatja, nem pedig egy alkalmazáscsomag-jegyzékben.
Win32-alkalmazások elkülönítése
A Win32 alkalmazáselkülönítés egy biztonsági funkció (Windows 11, 24H2-es és újabb verzióban érhető el), amely segít az alkalmazások sérülésének megfékezésében, és védi a felhasználók adatvédelmi lehetőségeit. Olyan AppContainerekre és összetevőkre épül, amelyek virtualizálják az erőforrásokat, és közvetített hozzáférést biztosítanak. További információ: Win32 alkalmazáselkülönítés áttekintése és a Win32 alkalmazáselkülönítési GitHub adattár.
Alkalmazás képességei
Az alkalmazásképességek (például az internetClient, a hely, a mikrofon és a bluetooth) leginkább az AppContainerben futó csomagolt alkalmazások esetében relevánsak. Ez magában foglalja a minden Univerzális Windows-platform (UWP) alkalmazást, és néhány asztali alkalmazást.
Vannak azonban olyan forgatókönyvek, amikor még egy Közepes IL-alkalmazásnak (vagyis nem egy AppContainer-alkalmazásnak) is deklarálnia kell egy képességet. Ilyen például a runFullTrust korlátozott képessége.
Az alkalmazásképességekkel, az alkalmazástípusokkal és azok konfigurálásának módjával kapcsolatos további információkért tekintse meg az alkalmazásképesség-deklarációkat. A képességeket az alkalmazáscsomag jegyzékében konfigurálhatja; ezért csak a csomagolt alkalmazásokra vonatkoznak.
Alkalmazások típusai
Az asztali alkalmazások és Univerzális Windows-platform (UWP) alkalmazások a két fő alkalmazástípus, bár az asztali alkalmazások családjában számos alkalmazás létezik. A felhasználói felületi keretrendszer (WinForms, WPF, Win32, Direct 2D/3D vagy WinUI 3) kiválasztása bizonyos mértékben független a jelen témakörben ismertetett konfigurációktól.
Nézzük meg azonban, hogy ezek az alkalmazástípusok hogyan térhetnek el egymástól a csomagolás, az üzembe helyezés és a folyamat szempontjából.
Először is az összes UWP-alkalmazás csomagolva van, és egy AppContainerben fut. Az asztali alkalmazások esetében azonban a dolgok rugalmasabbak. Dönthet úgy, hogy becsomagozza az asztali alkalmazást, vagy nem. A döntéstől függetlenül dönthet úgy is, hogy az asztali alkalmazást AppContainerként vagy Közepes IL-alkalmazásként konfigurálja.
| Csomagként elérhető | Csomagolatlan | |
|---|---|---|
| AppContainer | Asztali alkalmazások UWP-alkalmazások |
Asztali alkalmazások |
| Közepes IL | Asztali alkalmazások | Asztali alkalmazások |
A csomagolt alkalmazások esetében a kívánt alkalmazás típusának konfigurálásához használja az alkalmazáscsomag-jegyzékben található uap10:RuntimeBehavior attribútumot (lásd: Alkalmazás (Windows 10)).
-
Az asztali alkalmazások windowsosak
.exe, általában fő vagy WinMain belépésipont-függvénnyel. Az alkalmazás asztali alkalmazásként való konfigurálásához állítsa beuap10:RuntimeBehaviora "packagedClassicApp" vagy a "win32App" értéket.- A "packagedClassicApp" érték winUI-alkalmazást (Windows App SDK) vagy asztali hídalkalmazást (Centennial) jelöl. A különbség az, hogy egy Centennial-alkalmazás egy AppContainerben fut.
- A "win32App" pedig bármilyen más típusú Win32-alkalmazást jelez (beleértve a külső helyhez csomagolt alkalmazást is).
- Végül, ha
uap10:RuntimeBehavior'windowsApp' értékre van állítva, az egy UWP-alkalmazást eredményez.
A fejleszthető alkalmazások összes lehetőségéről lásd: Windows app fejlesztés: lehetőségek és funkciók.
Windows App SDK: keretrendszerfüggő vagy önálló
Ha az alkalmazás a Windows App SDK használja, akkor azt is kiválaszthatja, hogy miként helyezheti üzembe az alkalmazástól függő SDK-futtatókörnyezetet: keretrendszerfüggő (alapértelmezett, ahol a Windows App SDK futtatókörnyezetnek és/vagy keretrendszercsomagnak jelen kell lennie a célgépen) vagy önállóan (az alkalmazás a Windows App SDK függőségeit hordozza magával). További információ: Windows App SDK üzembe helyezés áttekintése.
Windows Csomagkezelő és WinGet-ügyfél
Egy package manager segíthet a felhasználóknak a szoftver telepítésében/frissítésében/konfigurálásában a munkafolyamat automatizálásával. A csomagkezelők bármilyen szoftver telepítésében segíthetnek, de általában a developer tools telepítéséhez használják őket. Tehát ha fejlesztőeszközt készít, akkor különösen érdekelheti ez a lehetőség. De a következőképpen működik:
- Ön, mint szoftverfejlesztő, meghatározza a package manager (deklaratív utasítások formájában) a termék sikeres telepítéséhez szükséges összes elemet.
- Majd amikor egy felhasználó telepíti a szoftvert, a package manager a deklaratív utasításokat követve automatizálja a telepítési és konfigurálási munkafolyamatot.
Ennek eredménye a felhasználói környezet előkészítésével és a telepített összetevők közötti jobb kompatibilitással töltött idő csökkentése. A Windows Csomagkezelő használatával a csomagolt vagy csomagolatlan alkalmazásokat olyan formátumban terjesztheti, mint a .msix, .msi és .exe.
További információ: Windows Csomagkezelő.
Windows developer