產生 MSIX 封裝元件

本文說明如何使用命令列工具 (無需使用 Visual Studio 或 MSIX 封裝工具) 產生 MSIX 封裝元件,以封裝您的應用程式。

若要手動封裝您的應用程式,必須建立封裝資訊清單檔案、新增封裝元件,然後執行 Makeappx.exe 命令列工具來產生 MSIX 套件。

首先,準備封裝

如果您尚未準備好,請檢閱本節以了解在封裝應用程式之前需要知道的事項

建立封裝資訊清單

建立檔案,並將其命名為 appxmanifest.xml,然後將此 XML 新增至其中。

這是一個包含您套件所需元素和屬性的基礎範本。 我們會在下一節新增數值。

<?xml version="1.0" encoding="utf-8"?>
<Package
  xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:uap10="http://schemas.microsoft.com/appx/manifest/uap/windows10/10"
  xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities">
  <Identity Name="" Version="" Publisher="" ProcessorArchitecture="" />
  <Properties>
    <DisplayName></DisplayName>
    <PublisherDisplayName></PublisherDisplayName>
    <Description></Description>
    <Logo></Logo>
  </Properties>
  <Resources>
    <Resource Language="" />
  </Resources>
  <Dependencies>
    <TargetDeviceFamily Name="Windows.Desktop" MinVersion="" MaxVersionTested="" />
  </Dependencies>
  <Capabilities>
    <rescap:Capability Name="runFullTrust"/>
  </Capabilities>
  <Applications>
    <Application Id="" Executable=""
      uap10:RuntimeBehavior="packagedClassicApp"
      uap10:TrustLevel="mediumIL">
      <uap:VisualElements DisplayName="" Description=""	Square150x150Logo=""
        Square44x44Logo="" BackgroundColor="" />
    </Application>
  </Applications>
</Package>

注意

如果您的套件安裝在 Windows 10 版本 2004 (10.0) 之前的系統上;組建 19041),然後使用 EntryPoint 屬性, uap10:RuntimeBehavior 而不是 和 uap10:TrustLevel。 如需詳細資訊和範例,請參閱 Windows 10 版本 2004 (10.0) 中引進 uap10;組建 19041)

填寫您檔案中的套件層級元素

使用足以描述您套件的資訊來填寫這個範本。

身分識別資訊

以下是一個屬性以預留位置文字填上的 Identity 元素範例。 您可以將 屬性設定ProcessorArchitecture為、、 x86arm (例如 32 位 ARM)、、 arm64x64neutral

<Identity Name="MyCompany.MySuite.MyApp"
          Version="1.0.0.0"
          Publisher="CN=MyCompany, O=MyCompany, L=MyCity, S=MyState, C=MyCountry"
			    ProcessorArchitecture="x64">

注意

如果您已在 Microsoft Store 中保留應用程式名稱,則可以使用合作夥伴中心來取得名稱和發行者。 若您想要在其他系統上側載應用程式,可以為他們提供您自己的名稱,只要其發行者名稱與您選擇用來簽署應用程式的憑證上名稱相同即可。

屬性

Properties 元素有 3 個必要的子元素。 以下是以預留位置文字填上元素的 Properties 節點範例。 DisplayName 是您將應用程式上傳至 Microsoft Store 之後,在 Microsoft Store 中保留的應用程式名稱。

<Properties>
  <DisplayName>MyApp</DisplayName>
  <PublisherDisplayName>MyCompany</PublisherDisplayName>
  <Logo>images\icon.png</Logo>
</Properties>

資源

以下是 Resource 節點的範例。

<Resources>
  <Resource Language="en-us" />
</Resources>

相依性

針對您為其建立套件的傳統型應用程式,請一律將 Name 屬性設定為 Windows.Desktop

<Dependencies>
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14316.0" MaxVersionTested="10.0.15063.0" />
</Dependencies>

功能

針對包含一或多個完全信任應用程式的套件,您必須宣告 runFullTrust 受限制的功能,如下所示。 如需完整詳細數據,以及完全信任應用程式的定義,請在應用程式功能宣告搜尋 「完全信任許可權等級」。

<Capabilities>
  <rescap:Capability Name="runFullTrust"/>
</Capabilities>

填寫應用程式層級元素

使用足以描述您應用程式的資訊填寫這個範本。

Application 元素

針對您為其建立套件的桌面應用程式,請設定 Application 元素,如下所示:

<Applications>
  <Application Id="MyApp" Executable="MyApp.exe"
		 uap10:RuntimeBehavior="packagedClassicApp"
     uap10:TrustLevel="mediumIL">
   </Application>
</Applications>

注意

如果您的套件安裝在 Windows 10 版本 2004 (10.0) 之前的系統上;組建 19041),然後使用 EntryPoint 屬性, uap10:RuntimeBehavior 而不是 和 uap10:TrustLevel。 如需詳細資訊和範例,請參閱 Windows 10 版本 2004 (10.0) 中引進 uap10;組建 19041)

視覺元素

以下是 VisualElements 節點的範例。

<uap:VisualElements
	BackgroundColor="#464646"
	DisplayName="My App"
	Square150x150Logo="images\icon.png"
	Square44x44Logo="images\small_icon.png"
	Description="A useful description" />

(選用) 新增目標型無背板資產

以目標為基礎的資產適用於出現在 Windows 任務列、工作檢視、ALT+TAB、貼齊輔助和 [開始] 圖格右下角的圖示和磚。 您也可以在這裡閱讀更多資訊。

  1. 取得正確的 44x44 影像,並將其複製到包含您的影像 (也就是資產) 的資料夾。

  2. 針對每個 44x44 映射,在相同的資料夾中建立複本,並將 .targetsize-44_altform-unplated 附加至檔名。 您應該會有兩個每個圖示的複本,每個都以特定方式命名。 例如:完成此程序之後,您的「資產 (assets)」資料夾可能會包含 MYAPP_44x44.pngMYAPP_44x44.targetsize-44_altform-unplated.png

    注意

    在這個範例中,名為 MYAPP_44x44.png 的圖示將會是您 MSIX 套件的 Square44x44Logo 商標屬性中參考的圖示。

  3. 在資訊清單檔案中,對於您正在製作的每個圖示,將其 BackgroundColor 設為透明。

  4. 繼續前往下一小節,產生新的套件資源索引檔案。

使用 MakePri 產生套件資源索引 (PRI) 檔案

如果您如上一節所述建立以目標為基礎的資產,或者在建立套件之後修改應用程式的任一視覺資產,則您必須產生新的 PRI 檔案。

根據 SDK 的安裝路徑,這是 MakePri.exe 在您的 Windows 電腦上的位置:

  • x86: C:\Program Files (x86)\Windows Kits\10\bin\<build number>\x86\makepri.exe
  • x64: C:\Program Files (x86)\Windows Kits\10\bin\<build number>\x64\makepri.exe

此工具沒有 ARM 版本。

  1. 開啟命令提示字元或 PowerShell 視窗。

  2. 將目錄變更為套件的根資料夾,然後執行命令 <path>\makepri.exe createconfig /cf priconfig.xml /dq en-US 來建立 priconfig.xml 檔案。

  3. 使用 <path>\makepri.exe new /pr <PHYSICAL_PATH_TO_FOLDER> /cf <PHYSICAL_PATH_TO_FOLDER>\priconfig.xml 命令來建立 resources.pri 檔案。

    例如,應用程式的命令可能看起來會像這樣:<path>\makepri.exe new /pr c:\MYAPP /cf c:\MYAPP\priconfig.xml

  4. 使用下一個步驟中的指示封裝您的應用程式。

在封裝之前測試您的應用程式

您可以部署未封裝的應用程式,並在封裝或簽署之前進行測試。 若要這麼做,請從 PowerShell 視窗執行下列 Cmdlet。 請務必傳入您應用程式的資訊清單檔案,該檔案位於封裝目錄的根目錄中,並包含您所有其他的封裝元件:

Add-AppxPackage –Register AppxManifest.xml

一旦完成後, 您的應用程式應該部署在系統上,而且可以測試,以確定在封裝之前一切運作正常。 若要更新應用程式的 .exe 或.dll 檔案,使用新檔案來取代套件中現有的檔案、提高 AppxManifest.xml 的版本號碼,然後再次執行上述命令即可。

將您的元件封裝成 MSIX

下一個步驟是使用 Makeappx.exe,為您的應用程式產生 MSIX 套件。 Makeappx.exe 隨附於 Windows SDK,而且如果您已安裝 Visual Studio,則可以透過 Visual Studio 的開發人員命令提示字元輕鬆存取它。

請參閱使用 MakeAppx.exe 工具建立 MSIX 套件或套件組合

注意

封裝的應用程式總是會以互動使用者的身分執行,您安裝已封裝應用程式的任何磁碟機都必須格式化為 NTFS 格式。