Zabalení spustitelného souboru rozhraní příkazového řádku jako MSIX

Tato příručka vás provede zabalením existujícího spustitelného souboru příkazového řádku jako balíčku MSIX pro distribuci prostřednictvím windows Package Manager (winget), Microsoft Storu nebo přímé distribuce.

Předpoklady

  • Existující spustitelný soubor rozhraní příkazového řádku (.exe), který chcete zabalit
  • Windows 10 verze 1809 nebo novější

Kroky

1. Uspořádání aplikace rozhraní příkazového řádku

Umístěte spustitelný soubor rozhraní příkazového řádku a všechny závislosti do vyhrazené složky:

mkdir MyCliPackage
cd MyCliPackage
# Copy your CLI executable and dependencies here

2. Instalace rozhraní příkazového řádku winapp

winget install microsoft.winappcli --source winget

3. Vygenerování appxmanifest.xml

winapp manifest generate --executable .\yourcli.exe

Tím se vytvoří appxmanifest.xml soubor s výchozími hodnotami naplněnými z vašeho spustitelného souboru.

4. Konfigurace manifestu

Upravte vygenerovaný appxmanifest.xml tak, abyste přidali spouštěcí alias, skryli aplikaci z nabídky Start a aktualizovali podrobnosti aplikace.

Přidejte požadovaný obor názvů

Přidejte jmenný prostor uap5 do elementu Package

<Package
  xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
  ...
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:uap5="http://schemas.microsoft.com/appx/manifest/uap/windows10/5"
  xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
  IgnorableNamespaces="uap uap5 rescap">

4.2 Skrýt v nabídce Start

Do elementu <uap:VisualElements> přidejte AppListEntry="none":

<uap:VisualElements
    DisplayName="YourApp"
    Description="My Application"
    BackgroundColor="transparent"
    Square150x150Logo="Assets\Square150x150Logo.png"
    Square44x44Logo="Assets\Square44x44Logo.png"
    AppListEntry="none">
</uap:VisualElements>

4.3 Přidání spouštěcího aliasu

Přidejte rozšíření do elementu <Application> :

<Extensions>
  <uap5:Extension Category="windows.appExecutionAlias">
    <uap5:AppExecutionAlias>
      <uap5:ExecutionAlias Alias="yourcli.exe" />
    </uap5:AppExecutionAlias>
  </uap5:Extension>
</Extensions>

Nahraďte yourcli.exe požadovaným názvem příkazu pro rozhraní příkazového řádku.

4.4 Aktualizace metadat aplikace

Aktualizujte části Identity, Properties a VisualElements, aby odpovídaly vaší aplikaci rozhraní příkazového řádku.

5. Vygenerování vývojového certifikátu (volitelné)

Místní testování a distribuce mimo Microsoft Store:

cd ~
winapp cert generate
winapp cert install

Důležité

Zachovejte vývojový certifikát mimo složku obsahující spustitelný soubor rozhraní příkazového řádku, abyste se vyhnuli náhodnému zahrnutí do balíčku.

6. Zabalení rozhraní příkazového řádku

winapp pack .\MyCliPackage --cert path\to\devcert.pfx

Tím se vytvoří .msix soubor v aktuálním adresáři.

Návod

  • Microsoft Store za vás podepíše MSIX, před odesláním se nemusíte podepisovat.
  • Pro každou architekturu, kterou podporujete (x64, Arm64), možná budete potřebovat samostatné balíčky MSIX.