Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Ce guide vous montre comment créer un package MSIX pour distribuer votre application Electron avec des API Windows.
Prerequisites
Avant d’empaqueter, assurez-vous d’avoir :
- Fin de la configuration de l’environnement de développement
- [FACULTATIF] Créé et testé votre module complémentaire (par exemple, le module complémentaire Phi Silicon ou le module complémentaire WinML)
- Vérifiez que votre application s’exécute correctement avec
npm start
Préparer l’empaquetage
Configurez Electron Forge pour exclure les fichiers temporaires de la build finale. Ajoutez un ignore tableau dans votre packagerConfig à forge.config.js.
module.exports = {
packagerConfig: {
asar: true,
ignore: [
/^\/\.winapp($|\/)/, // SDK packages and headers
/^\/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
};
Important
Vérifiez que vos Package.appxmanifest correspondances avec votre structure d’application empaquetée sont les suivantes :
- L’attribut
Executabledoit pointer vers le fichier .exe correct dans votre sortie empaquetée
Générer un certificat de développement
Avant de créer un package MSIX signé, générez un certificat de développement :
npx winapp cert generate
Cela crée un devcert.pfx fichier à la racine de votre projet qui sera utilisé pour signer le package MSIX.
Options d’empaquetage
Vous avez deux options pour créer un package MSIX pour votre application Electron :
- Option 1 : Utilisation directe de l’interface CLI winapp - Plus configurable, fonctionne avec n’importe quel packager
- Option 2 : Utilisation d’Electron Forge MSIX Maker - Plus intégré au flux de travail Forge
Choisissez l’option qui convient le mieux à votre flux de travail.
Option 1 : Utilisation directe de l’interface CLI winapp (recommandé pour la flexibilité)
Cette approche vous donne plus de contrôle sur le processus d’empaquetage et fonctionne avec n’importe quel packager Electron.
Créez votre application Electron
Pour empaqueter votre application Electron avec MSIX, nous devons d’abord créer la disposition de production. Avec Electron Forge, nous pouvons utiliser la commande de package :
# Package with Electron Forge (or your preferred packager)
npx electron-forge package
Cela crée une version de production de votre application dans le ./out/ dossier. Le nom exact du dossier dépend du nom et de l’architecture de votre application (par exemple my-windows-app-win32-x64).
Créer le package MSIX
Utilisez maintenant l’interface CLI winapp pour créer et signer un package MSIX à partir de votre application empaquetée :
npx winapp pack .\out\<your-app-folder> --output .\out --cert .\devcert.pfx --manifest .\Package.appxmanifest
Remplacez <your-app-folder> par le nom de dossier réel créé par Electron Forge (par exemple, my-windows-app-win32-x64 pour x64 ou my-windows-app-win32-arm64 ARM64).
L’option --manifest est facultative. S’il n’est pas fourni, il recherche un Package.appxmanifest dans le dossier en cours d’empaquetage ou dans le répertoire actif.
L’option --cert est également facultative. S’il n’est pas fourni, le msix ne sera pas signé.
L’option --output est également facultative. Si le répertoire n'est pas fourni, le répertoire en cours sera utilisé.
Le package MSIX sera créé en tant que ./out/<your-app-name>.msix.
Conseil / Astuce
Vous pouvez ajouter ces commandes à vos package.json scripts pour des raisons pratiques :
{
"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"
}
}
Veillez simplement à mettre à jour le chemin d’accès pour qu’il corresponde au nom de votre dossier de sortie réel.
Option 2 : Utilisation d’Electron Forge MSIX Maker (pour les utilisateurs de Forge)
Si vous utilisez déjà Electron Forge, vous pouvez intégrer l’empaquetage MSIX directement dans le flux de travail Forge à l’aide du @electron-forge/maker-msix générateur.
Installer le MSIX Maker
npm install --save-dev @electron-forge/maker-msix
Configurer forge.config.js
Ajoutez le MSIX Maker à votre forge.config.js:
module.exports = {
// ... other config
makers: [
{
name: '@electron-forge/maker-msix',
config: {
appManifest: '.\\Package.appxmanifest',
windowsSignOptions: {
certificateFile: '.\\devcert.pfx',
certificatePassword: 'password'
}
}
}
],
// ... rest of your config
};
Mettre à jour Package.appxmanifest
Le fabricant Electron Forge MSIX utilise une disposition de dossier différente de l’approche CLI winapp. Il place votre application dans un app\ dossier dans MSIX. Ce dossier est créé automatiquement pendant l’empaquetage . Vous n’avez pas besoin de le créer vous-même. Mettez à jour le chemin d’accès Executable dans votre Package.appxmanifest pour qu'il pointe vers le dossier app :
<Applications>
<Application Id="myApp"
Executable="app\my-app.exe"
EntryPoint="Windows.FullTrustApplication">
<!-- ... rest of your application config -->
</Application>
</Applications>
Remplacez par my-app.exe votre nom exécutable réel. Cela est basé sur le productName champ (ou name) de votre package.json.
Note
Le générateur Forge MSIX recherche les outils de Windows SDK basés sur le MinVersion dans votre Package.appxmanifest. Si vous recevez une erreur concernant WindowsKit introuvable, vérifiez que la version du KIT SDK spécifiée est MinVersion installée sur votre ordinateur ou que vous effectuez une mise à jour MinVersion pour qu’elle corresponde à une version installée du SDK.
Créer le package MSIX
Vous pouvez maintenant créer le package MSIX. Utilisez l’indicateur --targets pour exécuter uniquement le créateur MSIX (sinon Forge exécutera tous les créateurs configurés) :
npx electron-forge make --targets @electron-forge/maker-msix
Le package MSIX est créé dans le ./out/make/msix/<arch>/ dossier (par exemple, ./out/make/msix/arm64/ ou ./out/make/msix/x64/).
Conseil / Astuce
Cette approche est plus intégrée au flux de travail Electron Forge et gère automatiquement l’empaquetage et la création MSIX en une seule étape.
Installer et tester MSIX
Tout d’abord, installez le certificat de développement (configuration unique) :
# Run as Administrator:
npx winapp cert install .\devcert.pfx
Installez maintenant le package MSIX. Double-cliquez sur le fichier msix ou exécutez la commande suivante :
# Option 1 output:
Add-AppxPackage .\out\<your-app-name>.msix
# Option 2 output:
Add-AppxPackage .\out\make\msix\<arch>\<your-app-name>.msix
Remplacez <your-app-name> et <arch> par les valeurs réelles de votre sortie de build.
Votre application s’affiche dans le menu Démarrer ! Lancez-la et testez vos fonctionnalités d’API Windows.
Options de distribution
Une fois que vous avez un package MSIX opérationnel, vous avez plusieurs options pour distribuer votre application :
Téléchargement direct
Hébergez le package MSIX sur votre site web pour le téléchargement direct. Assurez-vous de le signer avec un certificat de signature de code à partir d’une autorité de certification approuvée afin que les utilisateurs puissent l’installer sans avertissements de sécurité.
Microsoft Store
Envoyez votre application au Microsoft Store pour obtenir les mises à jour automatiques et de distribution les plus larges. Vous devrez :
- Créer un compte Microsoft Partner Center
- Réserver le nom de votre application
- Mettez à jour
Package.appxmanifestavec votre identité du Windows Store. Il n’est pas nécessaire de signer le msix, le processus de publication du magasin le signe automatiquement. - Envoyer pour la certification
En savoir plus : Publier votre application dans le Microsoft Store
Distribution d’entreprise
Distribuez directement aux clients d’entreprise via :
- Portail d'entreprise - Pour les organisations utilisant Intune
- Téléchargement direct - Héberger MSIX sur votre site web
- Chargement indépendant - Installer via PowerShell ou App Installer
En savoir plus : Distribuer des applications en dehors du Windows Store
Programme d’installation d’applications
Créez un .appinstaller fichier pour les mises à jour automatiques :
<?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>
En savoir plus : Vue d’ensemble du fichier du programme d’installation d’application
Prochaines étapes
Félicitations! Vous avez correctement empaqueté votre application Electron Windows pour la distribution ! 🎉
Ressources additionnelles
- Documentation de l’interface CLI winapp - Informations de référence sur l’interface CLI complète
- Exemple d’application Electron - Exemple de travail complet
- Documentation sur l’empaquetage MSIX - En savoir plus sur MSIX
- application Windows Kit de certification - Tester votre application avant la soumission du Windows Store
Retour à la vue d’ensemble
- Vue d’ensemble de la prise en main - Revenir au guide principal
- Configuration de l’environnement de développement - Passer en revue les étapes de configuration
- Création d’un addon Phi Silica - Vérifier la création d’un addon
- Création d’un complément WinML - En savoir plus sur l’intégration de WinML
Obtenir de l’aide
- Vous avez trouvé un bogue ?Signalez un problème
Bonne distribution ! 🚀
Windows developer