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.
A Packaging meghatározza az alkalmazás telepítését, frissítését és Windows való integrációját. A WinUI 3-alkalmazások alapértelmezés szerint csomagolva vannak, míg számos asztali alkalmazás, például a hagyományos Win32-alkalmazások csomagolatlanok. A csomagolt vagy csomagolatlan alkalmazások közötti választás hatással van a használható funkciókra, a használt üzemi modellre és az ügyfelek általános élményére.
Megjegyzés:
Új WinUI 3-alkalmazás létrehozása? Az alapértelmezett beállítás szerint ön már csomagolva van. Az alábbi útmutató leginkább azon fejlesztők számára releváns, akiknek explicit döntést kell hozniuk – jellemzően meglévő alkalmazás portolása, nagyvállalati gépeken való üzembe helyezés vagy Windows funkciók hozzáadásakor az eredetileg nem csomagolt alkalmazásokhoz.
Miért fontos az alkalmazáscsomagolás?
A csomagolt alkalmazások tiszta telepítési modellben, automatikus frissítésekben és Windows csomagidentitást igénylő funkciókhoz – például háttérfeladatokhoz, értesítésekhez, helyi menübővítményekhez, megosztási célokhoz és egyéb bővíthetőségi pontokhoz – férhetnek hozzá. A csomagolás emellett segít a tisztább üzembe helyezésben, a megbízható frissítésekben és az egyszerűsített terjesztésben olyan csatornákon keresztül, mint a Microsoft Store és a vállalati üzembehelyezési eszközök.
Csomagidentitást igénylő funkciók
Számos Windows-funkció csak olyan alkalmazásokban működik, amelyek csomagidentitással rendelkeznek, akár teljes MSIX-csomagolással, akár külső helyet használó csomagolással (sparse packaging). Ilyenek például a háttérfeladatok, a leküldéses értesítések, a megosztási célok, az egyéni helyi menükiterjesztések, a jegyzékalapú fájltípus és a protokolltársítások, valamint a Windows AI API-k.
A teljes listát a csomagidentitást igénylő szolgáltatásokban találja.
Jótanács
Ha ki van csomagolva, és E_ILLEGAL_METHOD_CALL vagy APPMODEL_ERROR_NO_PACKAGE hibát tapasztal Windows API-k meghívásakor, ez a csomag identitáskövetelménye. Tekintse meg a külső hellyel rendelkező (szórványos csomagolás) csomagolást a legkevesebb akadályt jelentő megoldásként.
Ha futásidőben szeretné észlelni, hogy a folyamat rendelkezik-e csomagidentitással, használja a következőt GetCurrentPackageFullName: . Lásd : Ez egy csomagolt folyamat? című témakört az Inside MSIX blogon, amely a C++ és c# mintákat ismerteti.
Csomagolási modellek egy pillantással
| Modell | Csomag identitása | Telepítő | Jogosult áruház | A következőkre alkalmas |
|---|---|---|---|---|
| Csomagolt (MSIX) | ✅ Igen | Az MSIX lecseréli a telepítőt | ✅ Igen (MSIX-beküldés) | Új alkalmazások, Áruházbeli közzététel, vállalati MDM |
| Csomagolás külső helyen | ✅ Igen | A meglévő telepítő | ✅ Igen (MSI/EXE beküldés) | Meglévő alkalmazások saját telepítővel, független szoftverbeszállítókkal (ISV-kkel) |
| Csomagolatlan | ❌ Nem | MSI- vagy EXE-telepítő (továbbá: XCopy vagy szkript nem áruházbeli disztribúcióhoz) | ✅ Igen (MSI/EXE beküldés – egy MSI- vagy EXE-telepítőt igényel csendes telepítési támogatással) | Széles Körű Win32-disztribúció, belső eszközök |
Csomagolt alkalmazások (MSIX)
A csomagolt alkalmazások MSIX-et használnak, és package identitással rendelkeznek, amely számos Windows bővíthetőségi ponthoz szükséges. A csomagidentitás lehetővé teszi, hogy Windows megbízhatóan azonosítsa a platform API-k hívóját, ezért ezek a funkciók függnek attól.
- A csomagolt alkalmazások általában egy egyszerű alkalmazástárolóban futnak fájlrendszerrel és beállításjegyzék-virtualizálással (lásd: AppContainer régebbi alkalmazásokhoz és MSIX AppContainer-alkalmazásokhoz).
- Az alkalmazások úgy is konfigurálhatók, hogy szükség esetén ne fussanak alkalmazástárolóban.
- Az MSIX mind a csomagoláshoz, mind a telepítéshez használható (lásd : Mi az MSIX?).
Csomagolás külső helyen (Ritka csomagolás)
A külső hellyel (más néven ritka csomagokkal) rendelkező csomagolás lehetővé teszi, hogy a meglévő alkalmazás mellett egy kis identitáscsomagot is regisztráljon – a telepítő, a bináris helyek vagy a frissítési folyamat módosítása nélkül. Windows 10 2004-es verzióban (19041-es build) vezették be.
Ez az ideális állapot a meglévő Win32/WPF/WinForms-alkalmazások számára, amelyek saját telepítőjükön (NSIS, WiX, InstallShield stb.) keresztül kerülnek forgalomba, és nem szeretnék lecserélni az MSIX-re. Regisztrálhat egy egyszerűsített identitáscsomagot, a bináris fájlok ott maradnak, ahol vannak, és feloldhatja a csomag identitás-kapus Windows funkcióinak teljes készletét.
| Képesség | MSIX | Külső hely |
|---|---|---|
| Felváltja a telepítőt | Igen | No |
| Bináris fájlok a csomagban | Igen | Nem (külső) |
| Jogosult áruház | Igen (MSIX-beküldés) | Igen (MSI/EXE beküldés) |
| Csomag identitása | Igen | Igen |
| Frissítési mechanizmus | MSIX-frissítés | A meglévő mechanizmus |
→ Teljes útmutató: Csomagdentitás biztosítása külső helyen lévő csomagolással
Csomagolatlan alkalmazások
A csomagolatlan alkalmazások nem használják az MSIX-et, és nem rendelkeznek csomagadentitással, ami azt jelenti, hogy nem férnek hozzá a fent felsorolt funkciókhoz.
- Az API-felület, a fájlrendszer-hozzáférés, a beállításjegyzék-hozzáférés, a jogosultságszint-emelés és a folyamatmodell tekintetében teljesen korlátlan maradnak.
- A telepítés és a frissítések az egyéni
.exetelepítőkre.msi, a ClickOnce-ra vagy az xcopy-telepítésre támaszkodnak.
Mielőtt elkötelezi magát a csomagolatlan mellett, ellenőrizze a fent látható funkciók táblázatát a saját ütemterve ellen. Ha az értesítések, a háttérfeladatok vagy az AI API-k a horizonton vannak, érdemes csomagban kezdődést fontolóra venni.
Választás forgatókönyv szerint
| Scenario | Ajánlott modell | Részletek |
|---|---|---|
| Indie fejlesztő, aki a Microsoft Store-ba publikál | Csomagként (MSIX) ajánlott | Az MSIX az ajánlott elérési út — lehetővé teszi a Store által felügyelt frissítéseket, a differenciált letöltéseket és a tiszta eltávolítást. A WinUI 3-alkalmazások alapértelmezés szerint csomagolva vannak. A kódaláírást az Áruház ingyenesen kezeli. → Csomagolt alkalmazás terjesztése A meglévő MSI- vagy EXE-telepítővel rendelkező Win32-alkalmazások az MSI/EXE beküldési útvonalon keresztül is közzétehetik az Áruházban, de az Áruház nem küld le frissítéseket a meglévő felhasználóknak – a frissítéseket az alkalmazásnak vagy a telepítőnek kell kezelnie. |
| Enterprise alkalmazás Intune vagy Konfigurációkezelő által telepítve | Csomagolt vagy külső helyszín a meglévő telepítők számára | Az új alkalmazásoknak MSIX-et kell használniuk. A saját telepítővel rendelkező meglévő alkalmazások külső helyen is használhatják a csomagolást. Kód-aláírás: használjon önaláírt tanúsítványt (az Intune-on, csoportházirenden vagy Konfigurációkezelő keresztül megbízható) vagy Azure összetevő-aláírást (korábban megbízható aláírás). → Csomagolt alkalmazások üzembe helyezése |
| Az ISV közvetlen letöltést biztosít saját telepítővel | Csomagolás külső hely megjelöléssel | Regisztráljon egy egyszerűsített identitáscsomagot a meglévő telepítő mellett.
Kódaláírás: a nem áruházbeli disztribúcióhoz ca-megbízható tanúsítványra van szükség.
Azure Összetevő-aláírás (korábban megbízható aláírás) az ajánlott alacsonyabb költségű lehetőség. → Csomag identitásának megadása Másik lehetőségként küldje el a meglévő telepítőt az Áruházba az MSI/EXE beküldési útvonalon keresztül. |
| Belső eszköz vagy fejlesztői segédprogram | Csomagolatlan | Az építés és üzembe helyezés legegyszerűbb módja. A Windows App SDK a NuGeten keresztül működik, de egyes funkciók nem lesznek elérhetők. |
Jótanács
A kódaláírási követelmények és a költségek a terjesztési útvonaltól függően változnak. A lehetőségek teljes lebontásához tekintse meg Windows alkalmazásfejlesztők kódaláírási beállításait.
Keretrendszerfüggő és önálló üzembe helyezés
A csomagolási modelltől függetlenül a Windows App SDK használó alkalmazások kiválasztják a futtatókörnyezeti függőségeik átvitelét: keretrendszerfüggő (a Windows App SDK futtatókörnyezet telepítve van a felhasználó gépén) vagy önálló (az alkalmazással együtt Windows App SDK bináris fájlok). Ez a választás a csomagolástól független.
A teljes összehasonlítási és üzembe helyezési útmutatóért tekintse meg a Windows App SDK üzembe helyezés áttekintését.
Ismerkedjen meg az MSIX használatával
Ha asztali Win32-alkalmazást (más néven osztályos asztali alkalmazást) vagy egy .NET-alkalmazást készít – beleértve a Windows megjelenítési alaprendszer (WPF) és a Windows Forms (WinForms) alkalmazást is – akkor az MSIX használatával csomagolhatja és helyezheti üzembe az alkalmazást.
- MSIX-csomag létrehozása meglévő telepítőből
- MSIX-csomag létrehozása forráskódból
- MSIX üzembe helyezés kezelése
Migrálás az MSIX-be régi telepítőkből
Ha az alkalmazás jelenleg egy örökölt telepítőt használ, az MSIX-be migrálva tiszta telepítést/eltávolítást, automatikus frissítéseket, Áruház-terjesztést és csomagdentitást szerezhet. Az áttelepítési útvonal a jelenlegi telepítő technológiától és a forráskódhoz való hozzáféréstől függ.
| Jelenlegi telepítő | Ajánlott migrálási útvonal | Forráskód szükséges? |
|---|---|---|
| MSI (Windows Installer) | Az MSIX csomagolóeszköz használatával alakítsa át az MSI-t közvetlenül MSIX-vé. A legtöbb MSI-mintát kezeli, beleértve az egyéni műveleteket is. | No |
| ClickOnce (.NET) | Újraépítés forrásból az VISUAL STUDIO MSIX csomagolási projekt használatával. A ClickOnce automatikus frissítése lecserélhető Áruházbeli frissítésekre vagy Alkalmazástelepítőre. | Igen |
| InstallShield / Advanced Installer | Az MSIX csomagolóeszköz használatával rögzíthet egy tiszta virtuális gépen lévő telepítést. Az összetett egyéni műveletek manuális javítást igényelhetnek a Csomagszerkesztőben. | No |
| Inno Setup /NSIS | Használja az MSIX csomagolóeszköz virtuálisgép-alapú rögzítési munkafolyamatát. Futtassa az EXE-telepítőt az eszköz elkülönített környezetében. | No |
| App-V (virtuális csomagok) | Konvertálás közvetlenül az MSIX csomagolóeszköz használatával – bemenetként támogatja App-V 5.x csomagokat. | No |
| MSIX szükséges módosításokkal | A Csomagtámogatási keretrendszer használatával futtatókörnyezeti javításokat (fájl-/beállításjegyzék-átirányítást) alkalmazhat az alkalmazáskód módosítása nélkül. | No |
Jótanács
Azoknál az alkalmazásoknál, amelyek összetett telepítőkkel, kernelillesztőkkel, SYSTEM-fiók alatt futó szolgáltatásokkal vagy az MSIX által nem támogatott, a teljes gépre érvényes COM-regisztrációkkal rendelkeznek, érdemes megfontolni a külső helyet használó MSIX használatát (külső hellyel csomagolva). Ez Windows funkciók csomagidentitását biztosítja, miközben egy hagyományos telepítőt használ az emelt szintű hozzáférést igénylő összetevőkhöz. Lásd: Csomag identitásának megadása külső helyszínnel való csomagolás által.
Főbb szempontok
- Tiszta virtuális gép tesztelése – Az MSIX csomagolóeszköz a telepítés során rögzíti az összes módosítást. Futtassa egy tiszta Windows lemezképen, hogy elkerülje a nem kapcsolódó rendszerváltozások rögzítését.
- Csomagtámogatási keretrendszer – Ha a konvertált alkalmazás futásidejű problémái vannak (fájlútvonal-feltételezések, a beállításjegyzék a HKLM-be ír), a csomagtámogatási keretrendszer ezeket a forrás módosítása nélkül is ki tudja javítani.
- Párhuzamosan az örökölt telepítővel – Az áttérés során üzembe helyezheti az MSIX-verziót az örökölt telepítővel együtt. Explicit beállítások/adatmigrálás megtervezése (például importálás első futtatáskor), mert a csomag identitása és tárolási helye eltér az MSIX és az MSI/EXE telepítések között.
Egyéb telepítési technológiák
- Alkalmazástelepítés és karbantartás
- Windows Installer
- .NET alkalmazás-közzététel áttekintése
- A .NET keretrendszer és alkalmazások üzembe helyezése
- WPF alkalmazás üzembe helyezése
- ClickOnce telepítés Windows-űrlapokhoz
Kapcsolódó tartalom
- Csomagidentitás áttekintése
- Telepíthető alkalmazások (Windows App SDK)
A csomagolatlan alkalmazások (Windows App SDK) - Oktatóanyag: WinUI-alkalmazás kicsomagolása
- Alkalmazásképesség-deklarációk – a csomagjegyzék képességeinek deklarálása védett API-k, eszközök vagy erőforrások eléréséhez
-
Csomagfrissítések letöltése és telepítése az Áruházból – API-k használatával
Windows.Services.Storeprogramozott módon ellenőrizheti és telepítheti az Áruház frissítéseit - Inside MSIX blog – a Microsoft MSIX mérnöki csapata mérvadó részletes elemzéseket végzett a csomagidentitásról, az üzembe helyezési architektúráról és az MSIX belső elemeiről
Windows developer