Parancssori végrehajtható fájl csomagolása MSIX-ként

Ez az útmutató bemutatja, hogyan csomagolhat be egy meglévő parancssori végrehajtható fájlt MSIX-csomagként a Windows Csomagkezelő (winget), a Microsoft Store vagy a közvetlen disztribúció útján történő terjesztéshez.

Előfeltételek

  • A csomagolni kívánt meglévő parancssori futtatható fájl (.exe)
  • Windows 10 1809-es vagy újabb verzió

Lépések

1. A CLI-alkalmazás rendszerezése

Helyezze a parancssori felület végrehajtható fájlját és a függőségeket egy dedikált mappába. Ez a mappa az MSIX-csomagban található összes fájlt tartalmazza.

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

2. A winapp parancssori felületének telepítése

Telepítse a winapp parancssori felületét Windows Csomagkezelő keresztül, vagy frissítsen a legújabb verzióra, ha már rendelkezik vele:

# Install (or update if already installed)
winget install microsoft.winappcli --source winget

3. A Package.appxmanifest létrehozása

Hozzon létre egy alap Package.appxmanifest fájlt és a szükséges erőforrásokat a CLI végrehajtható fájljához:

winapp manifest generate --executable .\yourcli.exe

Ez a parancs létrehoz egy Package.appxmanifest fájlt az aktuális könyvtárban a végrehajtható fájlból feltöltött alapértelmezett értékekkel.

4. A manifeszt konfigurálása

Szerkessze a létrehozott Package.appxmanifest fájlt a csomag testreszabásához. Az alábbi allépések ismertetik, hogy mit és miért kell módosítani.

4.1 Kötelező névtér hozzáadása

Adja hozzá a uap5 névteret az Package elemhez, ha még nincs megadva. Ez szükséges a végrehajtási aliashoz a 4.3. lépésben:

<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 Az alkalmazáselem konfigurálása

Az <uap:VisualElements> elemben adjon hozzá AppListEntry="none", hogy elrejtse az alkalmazást a Start menüből. A parancssori felület eszközeit a rendszer meghívja a terminálból, így nincs szükségük Start menübejegyzésre:

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

4.3 Végrehajtási alias bővítmény hozzáadása

Adjon hozzá végrehajtási aliast, hogy a felhasználók bármely terminálablakból név alapján futtathassák a parancssori felületet. Adja hozzá ezt a <Application> elemhez (a <uap:VisualElements> után):

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

Cserélje le yourcli.exe a parancssori felület kívánt parancsnevére. Miután egy felhasználó telepítette az MSIX-et, ezzel a paranccsal meghívhatja a parancssori felületet.

4.4 Alkalmazás metaadatainak frissítése

Frissítse a következő mezőket a CLI-alkalmazásnak megfelelően.

Fontos

A jegyzékben szereplő Publisher értéknek meg kell egyeznie az aláíró tanúsítvány a kiadójával. Ha később hoz létre tanúsítványt (5. lépés), akkor a közzétevőt fogja használni a jegyzékből. Ha a tanúsítvány létrehozása után módosítja a közzétevőt, újra kell létrehoznia a tanúsítványt, hogy megfeleljen a feltételeknek.

  • Adentitás: Name, Publisher és Version frissítése

    <Identity
      Name="YourCompany.YourCLI"
      Publisher="CN=Your Company"
      Version="1.0.0.0" />
    
  • Tulajdonságok: Megjelenítendő név, közzétevő megjelenítendő neve és leírása frissítése

    <Properties>
      <DisplayName>Your CLI Tool</DisplayName>
      <PublisherDisplayName>Your Company</PublisherDisplayName>
      <Description>Description of your CLI tool</Description>
      <Logo>Assets\StoreLogo.png</Logo>
    </Properties>
    
  • VisualElements: Megjelenítendő név és eszközhivatkozások frissítése

    <uap:VisualElements
      DisplayName="Your CLI Tool"
      Description="Description of your CLI tool"
      BackgroundColor="transparent"
      Square150x150Logo="Assets\Square150x150Logo.png"
      Square44x44Logo="Assets\Square44x44Logo.png">
      <uap:DefaultTile Wide310x150Logo="Assets\Wide310x150Logo.png" />
      <uap:SplashScreen Image="Assets\SplashScreen.png" />
    </uap:VisualElements>
    

Megjegyzés: A csomagkönyvtárban lévő Assets mappába megfelelő ikonelemeket is hozzá kell adnia. Bár az alkalmazás nem jelenik meg a Start menüben, az Áruház beküldésének ikonjai továbbra is szükségesek, és más környezetekben is megjelenhetnek.

5. (Nem kötelező) Fejlesztési tanúsítvány létrehozása

A Microsoft Store kívüli helyi teszteléshez és terjesztéshez az MSIX-csomagot tanúsítványsal kell aláírnia.

Fejlesztési tanúsítvány létrehozása. Tartsa a CLI-mappán kívül, hogy véletlenül ne vegye bele a csomagba:

# Navigate to a location outside your CLI folder (e.g., your home directory)
cd ~
winapp cert generate

Ezzel létrehoz egy devcert.pfx fájlt a kezdőkönyvtárban (pl. C:\Users\yourname\devcert.pfx).

Ha megbízhatónak szeretné minősíteni ezt a tanúsítványt a fejlesztői gépen, telepítse (rendszergazdai jogosultságokat igényel):

# Run PowerShell as Administrator
winapp cert install ~\devcert.pfx

6. A parancssori felület csomagolása

Most már készen áll az MSIX-csomag létrehozására:

# Navigate back outside of your project folder
# Package with dev certificate (for local testing/distribution)
winapp pack .\path\to\MyCliPackage --cert .\path\to\devcert.pfx

Ezzel létrehoz egy .msix fájlt az aktuális könyvtárban.

7. Telepítés és ellenőrzés

Telepítse az MSIX-csomagot annak ellenőrzéséhez, hogy minden működik-e:

Add-AppxPackage .\MyCliPackage.msix

Ha a 4.3. lépésben végrehajtási aliast adott hozzá, mostantól bármelyik terminálról futtathatja a parancssori felületet:

yourcli --help

Későbbi eltávolítás:

Get-AppxPackage *YourCLI* | Remove-AppxPackage

Tips

  1. Miután készen áll a terjesztésre, aláírhatja az MSIX-et egy hitelesítésszolgáltató kódaláíró tanúsítványával, hogy a felhasználóknak ne kelljen önaláírt tanúsítványt telepíteniük
  2. A Microsoft Store aláírja Önnek az MSIX-et, a beküldés előtt nem kell aláírnia.
  3. Előfordulhat, hogy több MSIX-csomagot kell létrehoznia, egyet minden támogatott architektúrához (x64, Arm64)

Következő lépések