本指南將引導你了解如何將現有的命令列執行檔打包成 MSIX 套件,透過 Windows Package Manager(winget)、Microsoft Store 或直接發行。
先決條件
- 一個你想要打包的現有 CLI 執行檔 (
.exe) - Windows 10 版本 1809 或更新版本
Steps
1. 組織您的 CLI 應用程式
將你的 CLI 執行檔和所有相依性放在專用資料夾裡:
mkdir MyCliPackage
cd MyCliPackage
# Copy your CLI executable and dependencies here
2. 安裝 winapp CLI
winget install microsoft.winappcli --source winget
3. 產生 appxmanifest.xml
winapp manifest generate --executable .\yourcli.exe
這會建立一個包含預設值的 appxmanifest.xml 檔案,這些值是從你的執行檔中填入的。
4. 設定清單
編輯產生 appxmanifest.xml 的檔案以新增執行別名,將應用程式隱藏於開始選單中,並更新應用程式細節。
4.1 新增所需命名空間
將 uap5 命名空間添加到 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 從開始選單隱藏
在元素中 <uap:VisualElements> ,加入 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 新增執行別名
在元素 <Application> 中加入擴展:
<Extensions>
<uap5:Extension Category="windows.appExecutionAlias">
<uap5:AppExecutionAlias>
<uap5:ExecutionAlias Alias="yourcli.exe" />
</uap5:AppExecutionAlias>
</uap5:Extension>
</Extensions>
請替換 yourcli.exe 成你 CLI 所需的指令名稱。
4.4 更新應用程式元資料
更新 Identity、 Properties和 VisualElements section 以符合你的 CLI 應用程式。
5. 產生發展證書(可選)
針對 Microsoft Store 以外的本地測試與發佈:
cd ~
winapp cert generate
winapp cert install
這很重要
請將開發憑證放在包含 CLI 執行檔的資料夾外,避免不小心包含在套件中。
6. 打包你的 CLI
winapp pack .\MyCliPackage --cert path\to\devcert.pfx
這會在目前目錄中建立一個 .msix 檔案。
小提示
- Microsoft Store 會幫你簽署 MSIX,提交前不需要先簽。
- 你可能需要為每個支援的架構(x64、Arm64)分別準備 MSIX 套件。