Balení vaší elektronové aplikace pro distribuci

V této příručce se dozvíte, jak vytvořit balíček MSIX pro distribuci aplikace Electron pomocí rozhraní API pro Windows.

Předpoklady

Před balením se ujistěte, že máte:

Příprava na balení

Nakonfigurujte Elektron Forge tak, aby se vyloučily dočasné soubory z konečného sestavení. Přidejte pole ignore do packagerConfig v 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
};

Důležité

Ověřte, že Package.appxmanifest odpovídá struktuře vaší zabalené aplikace.

  • Atribut Executable by měl odkazovat na správný soubor .exe ve výstupu balíčku.

Vygenerování vývojového certifikátu

Před vytvořením podepsaného balíčku MSIX vygenerujte vývojový certifikát:

npx winapp cert generate

Tím se devcert.pfx vytvoří soubor v kořenovém adresáři projektu, který se použije k podepsání balíčku MSIX.

Možnosti balení

Máte dvě možnosti vytvoření balíčku MSIX pro aplikaci Electron:

  1. Možnost 1: Přímé použití rozhraní příkazového řádku winapp – více konfigurovatelné, funguje s jakýmkoli packagerem
  2. Možnost 2: Použití Electron Forge MSIX Maker - Lépe integrované do pracovní postupy Forge

Zvolte možnost, která nejlépe vyhovuje vašemu pracovnímu postupu.


Tento přístup vám poskytuje větší kontrolu nad procesem balíkování a funguje s jakýmkoli balíčkovačem Electron.

Sestavte si svou aplikaci Electron

Abychom mohli aplikaci Electron zabalit pomocí MSIX, musíme nejprve vytvořit produkční rozložení. Pomocí Electron Forge můžeme použít příkaz package.

# Package with Electron Forge (or your preferred packager)
npx electron-forge package

Tím se ve složce vytvoří produkční verze vaší aplikace ./out/ . Přesný název složky bude záviset na názvu a architektuře vaší aplikace (např my-windows-app-win32-x64. ).

Vytvoření balíčku MSIX

Teď pomocí rozhraní příkazového řádku winapp vytvořte a podepište balíček MSIX z zabalené aplikace:

npx winapp pack .\out\<your-app-folder> --output .\out --cert .\devcert.pfx --manifest .\Package.appxmanifest

Nahraďte <your-app-folder> skutečným názvem složky vytvořeným elektronovým forgem (např. my-windows-app-win32-x64 pro x64 nebo my-windows-app-win32-arm64 ARM64).

Možnost --manifest je volitelná. Pokud není k dispozici, vyhledá soubor Package.appxmanifest ve složce, která se zabalí, nebo v aktuálním adresáři.

Tato --cert možnost je také volitelná. Pokud ho nezadáte, msix se nepodepíše.

Tato --output možnost je také volitelná. Pokud není zadaný, použije se aktuální adresář.

Balíček MSIX se vytvoří jako ./out/<your-app-name>.msix.

Návod

Pro usnadnění můžete do package.json skriptů přidat tyto příkazy:

{
  "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"
  }
}

Stačí aktualizovat cestu tak, aby odpovídala názvu skutečné výstupní složky.


Možnost 2: Použití Electron Forge MSIX Makeru (pro uživatele Forge)

Pokud už používáte Electron Forge, můžete balení MSIX integrovat přímo do pracovního postupu Forge pomocí nástroje @electron-forge/maker-msix.

Instalace služby MSIX Maker

npm install --save-dev @electron-forge/maker-msix

Nakonfigurujte forge.config.js

Přidejte MSIX maker do svého forge.config.js počítače:

module.exports = {
  // ... other config
  makers: [
    {
      name: '@electron-forge/maker-msix',
      config: {
        appManifest: '.\\Package.appxmanifest',
        windowsSignOptions: {
          certificateFile: '.\\devcert.pfx',
          certificatePassword: 'password'
        }
      }
    }
  ],
  // ... rest of your config
};

Aktualizace Package.appxmanifest

Tvůrce MSIX Electron Forge používá jiné rozložení složek než přístup winapp CLI. Aplikace se umístí do app\ složky v MSIX. Tato složka se vytváří automaticky během balení – nemusíte ji vytvářet sami. Aktualizujte cestu Executable ve složce Package.appxmanifest tak, aby odkazovala na složku app:

<Applications>
  <Application Id="myApp"
    Executable="app\my-app.exe"
    EntryPoint="Windows.FullTrustApplication">
    <!-- ... rest of your application config -->
  </Application>
</Applications>

Nahraďte my-app.exe skutečným názvem spustitelného souboru. Toto je založeno na productName poli (nebo name) ve vašem package.json.

Poznámka:

Tvůrce Forge MSIX hledá nástroje sady Windows SDK na základě MinVersion ve vašem Package.appxmanifest. Pokud se zobrazí chyba týkající se nenalezlé sady WindowsKit, ujistěte se, že je na vašem počítači nainstalovaná verze MinVersion sady SDK, nebo aktualizujte MinVersion tak, aby odpovídala nainstalované verzi sady SDK.

Vytvoření balíčku MSIX

Teď můžete vytvořit balíček MSIX. --targets Příznak použijte ke spuštění pouze tvůrce MSIX (jinak Forge spustí všechny nakonfigurované tvůrce):

npx electron-forge make --targets @electron-forge/maker-msix

Balíček MSIX se vytvoří ve ./out/make/msix/<arch>/ složce (např ./out/make/msix/arm64/./out/make/msix/x64/.

Návod

Tento přístup je více integrovaný s pracovním postupem Elektron Forge a automaticky zpracovává vytváření balíčků a MSIX v jednom kroku.

Instalace a testování MSIX

Nejprve nainstalujte vývojový certifikát (jednorázová instalace):

# Run as Administrator:
npx winapp cert install .\devcert.pfx

Teď nainstalujte balíček MSIX. Poklikejte na soubor msix nebo spusťte následující příkaz:

# Option 1 output:
Add-AppxPackage .\out\<your-app-name>.msix

# Option 2 output:
Add-AppxPackage .\out\make\msix\<arch>\<your-app-name>.msix

Nahraďte <your-app-name> a <arch> skutečnými hodnotami z výstupu sestavení.

Aplikace se zobrazí v nabídce Start! Spusťte ji a otestujte funkce rozhraní API pro Windows.

Možnosti distribuce

Jakmile máte funkční balíček MSIX, máte několik možností distribuce aplikace:

Přímé stahování

Hostujte balíček MSIX na webu pro přímé stahování. Ujistěte se, že ho podepíšete certifikátem pro podpis kódu od důvěryhodné certifikační autority, aby si ho uživatelé mohli nainstalovat bez upozornění zabezpečení.

Microsoft Store

Odešlete aplikaci do Microsoft Store pro nejširší distribuci a automatické aktualizace. Budete muset:

  1. Vytvoření účtu Partnerské centrum Microsoftu
  2. Rezervace názvu aplikace
  3. Aktualizujte Package.appxmanifest váš identifikátor obchodu. Není nutné podepisovat msix, proces publikování v obchodě ho podepíše automaticky.
  4. Odeslat k certifikaci

Další informace: Publikujte aplikaci na Microsoft Store

Distribuce podniku

Distribuce přímo podnikovým zákazníkům prostřednictvím:

  • Portál společnosti – pro organizace používající Intune
  • Přímé stažení – hostování MSIX na vašem webu
  • Postranní načtení – Instalace prostřednictvím PowerShellu nebo instalačního programu aplikace

Další informace: Distribuce aplikací mimo Store

Instalační program aplikací

Vytvořte .appinstaller soubor pro automatické aktualizace:

<?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>

Další informace: Přehled souboru instalačního programu aplikace

Další kroky

Gratulujeme! Úspěšně jste zabalili svou Windows povolenou aplikaci Electron pro distribuci! 🎉

Další zdroje

Návrat k přehledu

Získání nápovědy

Přejeme šťastné distribuování! 🚀