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 az útmutató bemutatja, hogyan hozhat létre MSIX-csomagot az Electron-alkalmazás Windows API-kkal való terjesztéséhez.
Előfeltételek
A csomagolás előtt győződjön meg arról, hogy:
- Befejeződött a fejlesztési környezet beállítása
- [NEM KÖTELEZŐ] Létrehozta és tesztelte a bővítményt (pl. Phi Silica addon vagy WinML addon)
- Ellenőrizte, hogy az alkalmazás megfelelően fut-e
npm start
Előkészítés a csomagolásra
Konfigurálja az Electron Forge-t, hogy kizárja az ideiglenes fájlokat a végleges buildből. Adjon hozzá egy ignore tömböt packagerConfig-ben a forge.config.js-hez.
module.exports = {
packagerConfig: {
asar: true,
ignore: [
/^\/\.winapp\/(?!bindings($|\/))/, // SDK files except generated JS bindings
/^\/winapp\.yaml$/, // SDK config
/\.pfx$/, // Certificate files
/\.pdb$/, // Debug symbols
/\/obj($|\/)/, // C# build artifacts
/\/bin($|\/)/, // C# build artifacts
/\.msix$/ // MSIX packages
]
},
// ... rest of your config
};
A létrehozott .winapp/bindings könyvtárnak a csomagolt alkalmazásban kell maradnia, mert a(z) #winapp/bindings az alkalmazás package.json#imports leképezésén keresztül erre a könyvtárra oldódik fel.
Fontos
Ellenőrizze, hogy megfelel-e a Package.appxmanifest csomagolt alkalmazásstruktúrának:
- Az
Executableattribútumnak a megfelelő .exe fájlra kell mutatnia a csomagolt kimenetben
Fejlesztési tanúsítvány létrehozása
Aláírt MSIX-csomag létrehozása előtt hozzon létre egy fejlesztési tanúsítványt:
npx winapp cert generate
Ezzel létrehoz egy devcert.pfx fájlt a projekt gyökerében, amely az MSIX-csomag aláírására szolgál.
Csomagolási beállítások
Két lehetősége van MSIX-csomag létrehozására az Electron-alkalmazáshoz:
- 1. lehetőség: A winapp parancssori felületének közvetlen használata – Konfigurálhatóbb, bármilyen csomagolóval használható
- 2. lehetőség: Az Electron Forge MSIX Maker használata – Jobban integrálva a Forge munkafolyamatba
Válassza ki a munkafolyamatnak leginkább megfelelő lehetőséget.
1. lehetőség: A winapp cli közvetlen használata (rugalmassághoz ajánlott)
Ez a megközelítés nagyobb ellenőrzést biztosít a csomagolási folyamat felett, és bármilyen Elektron csomagolóval együttműködik.
Építsd meg az Electron-alkalmazásodat
Ahhoz, hogy az Electron-alkalmazást az MSIX formátummal csomagoljuk, először létre kell hoznunk a gyártási elrendezést. Az Electron Forge segítségével a csomagparancsot használhatjuk:
# Package with Electron Forge (or your preferred packager)
npx electron-forge package
Ezzel létrehozza az alkalmazás éles verzióját a ./out/ mappában. A mappa pontos neve az alkalmazás nevétől és architektúrájától függ (például my-windows-app-win32-x64).
Az MSIX-csomag létrehozása
Most a winapp parancssori felületével hozzon létre és írjon alá egy MSIX-csomagot a csomagolt alkalmazásból:
npx winapp pack .\out\<your-app-folder> --output .\out --cert .\devcert.pfx --manifest .\Package.appxmanifest
Cserélje le <your-app-folder> az Electron Forge által létrehozott tényleges mappanévre (például my-windows-app-win32-x64 x64 vagy my-windows-app-win32-arm64 ARM64 esetén).
A --manifest beállítás nem kötelező. Ha nincs megadva, egy Package.appxmanifestet fog keresni a csomagolt mappában vagy az aktuális könyvtárban.
A --cert beállítás nem kötelező. Ha nincs megadva, az MSIX nem lesz aláírva.
A --output beállítás nem kötelező. Ha nincs megadva, a rendszer az aktuális könyvtárat használja.
Az MSIX-csomag a következőképpen fog létrejönni ./out/<your-app-name>.msix: .
Jótanács
Ezeket a parancsokat a következő parancsokkal egészítheti ki a package.json szkriptekben a kényelem érdekében:
{
"scripts": {
"package-msix": "npm run build-csAddon && npx electron-forge package && npx winapp pack ./out/my-windows-app-win32-x64 --output ./out --cert ./devcert.pfx --manifest Package.appxmanifest"
}
}
Csak frissítse az elérési utat, hogy megfeleljen a tényleges kimeneti mappa nevének.
2. lehetőség: Az Electron Forge MSIX Maker használata (forge felhasználók számára)
Ha már használja az Electron Forge-ot, a @electron-forge/maker-msix maker segítségével közvetlenül integrálhatja az MSIX-csomagolást a Forge munkafolyamatába.
Az MSIX Maker telepítése
npm install --save-dev @electron-forge/maker-msix
forge.config.js konfigurálása
Adja hozzá az MSIX készítőt ehhez: forge.config.js
module.exports = {
// ... other config
makers: [
{
name: '@electron-forge/maker-msix',
config: {
appManifest: '.\\Package.appxmanifest',
windowsSignOptions: {
certificateFile: '.\\devcert.pfx',
// Development certificate default password — read this from an
// environment variable once you sign with a real certificate.
certificatePassword: process.env.WINDOWS_CERT_PASSWORD || 'password'
}
}
}
],
// ... rest of your config
};
Fontos
forge.config.js általában elkötelezett a forráskövetés mellett, ezért soha ne helyezzen bele valódi aláíró tanúsítványjelszót. A password fenti alapértelmezett érték csak azért van értelme, mert devcert.pfx egy eldobható fejlesztési tanúsítvány. Éles aláíráshoz tárolja a tanúsítványt és a hozzá tartozó jelszót a CI titoktárában – vagy használja az Megbízható Azure-aláírás szolgáltatást, amelyhez egyáltalán nem tartozik jelszó. Tekintse meg a biztonsági útmutatást.
Frissítse a Package.appxmanifest fájlt
Az Electron Forge MSIX készítője más mappaelrendezést használ, mint a winapp CLI-módszer. Az alkalmazást az app\ mappába helyezi az MSIX-ben. Ez a mappa automatikusan létrejön a csomagolás során – önnek nem kell saját maga létrehoznia. Frissítse a Executable elérési utat a Package.appxmanifest úgy, hogy az a app mappára mutasson.
<Applications>
<Application Id="myApp"
Executable="app\my-app.exe"
EntryPoint="Windows.FullTrustApplication">
<!-- ... rest of your application config -->
</Application>
</Applications>
Cserélje le my-app.exe a tényleges végrehajtható névre. Ez a productName (vagy name) mezőn package.json alapul.
Megjegyzés:
A Forge MSIX maker Windows SDK-eszközöket keres a MinVersion a Package.appxmanifest alapján. Ha hibaüzenetet kap arról, hogy a WindowsKit nem található, győződjön meg arról, hogy a megadott MinVersion SDK-verzió telepítve van a számítógépen, vagy frissítsen MinVersion a telepített SDK-verziónak megfelelően.
Az MSIX-csomag létrehozása
Most már létrehozhatja az MSIX-csomagot.
--targets A jelzővel csak az MSIX-készítőt futtathatja (ellenkező esetben a Forge az összes konfigurált készítőt futtatja):
npx electron-forge make --targets @electron-forge/maker-msix
Az MSIX-csomag a ./out/make/msix/<arch>/ mappában jön létre (pl. ./out/make/msix/arm64/ vagy ./out/make/msix/x64/).
Jótanács
Ez a megközelítés jobban integrálva van az Electron Forge munkafolyamatával, és egy lépésben automatikusan kezeli a csomagolást és az MSIX-létrehozást.
Az MSIX telepítése és tesztelése
Először telepítse a fejlesztési tanúsítványt (egyszeri beállítás):
# Run as Administrator:
npx winapp cert install .\devcert.pfx
Most telepítse az MSIX-csomagot. Kattintson duplán az msix fájlra, vagy futtassa a következő parancsot:
# Option 1 output:
Add-AppxPackage .\out\<your-app-name>.msix
# Option 2 output:
Add-AppxPackage .\out\make\msix\<arch>\<your-app-name>.msix
Cserélje le a <your-app-name> és <arch> elemeket a build kimenetének tényleges értékeivel.
Az alkalmazás megjelenik a Start menüben! Indítsa el, és tesztelje Windows API-funkcióit.
Terjesztési beállítások
Ha már rendelkezik egy működő MSIX-csomagpal, számos lehetősége van az alkalmazás terjesztésére:
Közvetlen letöltés
Az MSIX-csomagot a webhelyén tárolhatja közvetlen letöltés céljából. Győződjön meg arról, hogy egy megbízható hitelesítésszolgáltatótól származó kódaláíró tanúsítvánnyal írja alá, így a felhasználók biztonsági figyelmeztetések nélkül telepíthetik.
Microsoft áruház
Küldje el az alkalmazást a Microsoft Store a legszélesebb körű terjesztéshez és az automatikus frissítésekhez. A következőket kell tennie:
- Microsoft Partnerközpont-fiók létrehozása
- Az alkalmazás nevének lefoglalása
- Frissítse
Package.appxmanifesta saját Store-identitásával. Nincs szükség az msix aláírására, az áruház közzétételi folyamata automatikusan aláírja. - Küldés minősítésre
További információ:
Vállalati disztribúció
Közvetlenül a nagyvállalati ügyfeleknek az alábbiakon keresztül terjeszthető:
- Céges portál – Az Intune-t használó szervezetek számára
- Közvetlen letöltés – Az MSIX üzemeltetése a webhelyen
- Sideloading – Telepítés a PowerShell vagy az App Installer használatával
További információ: Alkalmazások terjesztése az Áruházon kívül
Alkalmazástelepítő
Hozzon létre egy .appinstaller fájlt az automatikus frissítésekhez:
<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
Uri="https://your-domain.com/packages/myapp.appinstaller"
Version="1.0.0.0"
xmlns="http://schemas.microsoft.com/appx/appinstaller/2017/2">
<MainPackage
Name="YourAppName"
Version="1.0.0.0"
Publisher="CN=YourPublisher"
Uri="https://your-domain.com/packages/myapp.msix"
ProcessorArchitecture="x64" />
<UpdateSettings>
<OnLaunch HoursBetweenUpdateChecks="24" />
</UpdateSettings>
</AppInstaller>
További információ: App Installer-fájl áttekintése
Következő lépések
Gratulálok! Sikeresen csomagolta a Windows-kompatibilis Electron-alkalmazást a disztribúcióhoz! 🎉
További források
- a winapp parancssori felület dokumentációja – Teljes cli-referencia
- Minta Electron alkalmazás – Teljes működő példa
- MSIX Csomagolási dokumentáció – További információ az MSIX-ről
- Windows-alkalmazás Certification Kit – Tesztelje az Ön alkalmazását az Áruházba beküldés előtt
Vissza az áttekintéshez
- Első lépések áttekintése – Visszatérés a fő útmutatóhoz
- Fejlesztői környezet beállítása – A beállítási lépések áttekintése
- Phi Silica-bővítmény létrehozása – Bővítmény létrehozásának áttekintése
- WinML-bővítmény létrehozása – Tudnivalók a WinML-integrációról
Segítségkérés
- Talált egy hibát?Probléma fájlba adása
Jó terjesztést! 🚀
Windows developer