跳至主內容
Splashtop20 years of trust
登入免費試用
+1.408.886.7177登入免費試用
A person using a computer in an office.

如何使用 Intune Win32 Content Prep Tool

閱讀時間:13 分鐘
更新
開始使用 Splashtop
最受好評的遠端存取、遠端支援和端點管理解決方案。
免費試用聯絡銷售部門

部署應用程式本該是個簡單的流程:執行安裝程式,然後就完成了。但情況往往並非如此。任何不是單一 MSI 的 Windows 應用程式,通常都必須以 Win32 應用程式的形式部署,而 Intune 只接受 .intunewin 格式的 Win32 應用程式檔案。若要建立這些檔案,管理員會使用 Intune Win32 Content Prep Tool(IntuneWinAppUtil.exe)。

雖然這個工具相對簡單,但小錯誤(例如設定檔中的拼字錯誤)都可能導致安裝失敗。此外,每次有新版應用程式推出時,都得從頭開始整個流程。

本指南涵蓋完整的命令語法、每個參數、如何封裝 MSI、EXE 和 PSADT 應用程式、之後要在 Intune 中設定哪些項目,以及如何讓套件保持在最新狀態。如果剛接觸這個主題,建議先從我們的應用程式封裝是什麼總覽開始。

Intune Win32 內容準備工具的用途

Intune Win32 Content Prep Tool 是 Microsoft 提供的免費命令列工具,可將應用程式的安裝檔轉換為 .intunewin格式,並偵測 Intune 用來判斷其安裝狀態所需的部分屬性。Intune 安裝 Win32 應用程式需要這種格式,因此通常必須先進行轉換。

對於 MSI 設定檔,這個工具也會從 MSI 讀取 Intune 所需的資訊。

此工具會將安裝資料夾中的所有內容(包括子資料夾)壓縮成單一的 .intunewin 檔案檔案。該檔案包含經過加密的安裝檔案,以及解密這些檔案所需的資訊,因此請像保管原始安裝程式一樣謹慎保存。不過,此工具只會建立套件;不會寫入安裝命令或偵測規則,也不會上傳任何內容。

開始之前需要準備的事項

使用 Intune Win32 Content Prep Tool 時,建議事先做好準備,以確保流程順暢且有效率。開始準備應用程式前,請先確認已備妥以下項目:

  • 一台安裝 .NET Framework 4.7.2 的 Windows 機器;使用乾淨的封裝工作站有助於避免將不相關的檔案拉入套件中。

  • Content Prep Tool 本身可從 Microsoft 的 GitHub repo 下載為 .zip 檔。目前版本為 1.8.7,以及 .zip 檔包含工具、授權、readme 和版本說明。

  • 支援靜默安裝的安裝程式,因為透過 Intune 部署的 Win32 應用程式必須在無需使用者互動的情況下完成安裝。我們的 MSI 靜默安裝 和 EXE 靜默安裝 指南涵蓋了各自對應的參數。

  • 小於 30 GB 的應用程式。Intune 將每個 Win32 應用程式的大小上限設為 30 GB,因此較大的應用程式無法用這種方式部署。

  • 支援的目標裝置。部署的目標裝置必須執行 Windows Enterprise、Pro 或 Education,已向 Microsoft Entra ID 註冊或已加入,且已註冊至 Intune。

如何使用 Content Prep Tool 建立 .intunewin檔案

準備就緒後,即可使用 Content Prep Tool 建立 .intunewin檔案。只要幾個步驟即可完成:

  1. 從 GitHub 下載並擷取此工具到其專用資料夾中(例如:C:\Tools\ContentPrep)。

  2. 建立一個來源資料夾,裡面只放安裝程式及其支援檔案,例如 MST 轉換檔、設定檔或指令碼(例如 C:\Packages\AppName)。此工具會打包這個資料夾中的每個檔案和子資料夾,因此工具本身以及任何無關的檔案都不應放在其中。

  3. 請選擇來源資料夾外的輸出資料夾(例如 C:\Output)。如果它位於來源資料夾內,下次執行時會將舊的 .intunewin 封裝到新的檔案中。

  4. 執行此工具。您可以在不帶任何參數的情況下執行 IntuneWinAppUtil.exe,此時系統會提示您為每個資料夾進行操作,或以單行方式執行。請記住,含有空格的路徑需要加上引號:IntuneWinAppUtil.exe -c C:\Packages\AppName -s setup.exe -o C:\Output -q

  5. 檢查輸出資料夾中的新 .intunewin檔案。請務必為每個版本的應用程式保留獨立的輸出資料夾,避免版本彼此覆寫,尤其是在使用 -q 時。

如果安裝命令需要參照支援檔案,您可以將其放在來源資料夾的子資料夾中,並使用相對路徑,例如 licenses\license.txt。

IntuneWinAppUtil 命令列參數

使用 Content Prep Tool 時,可以設定參數,例如以安靜模式執行,或指定內容的輸出位置。了解這些命令列參數,可讓您對安裝有更多控制,並有助於確保部署順利進行。

命令列參數如下:

參數

作用說明

-h

顯示使用說明

-v

顯示工具版本(1.8.2 及更新版本)

-c <setup_folder>

其完整內容都會放入 .intunewin 的資料夾

-s <setup_file>

安裝檔案,例如 setup.exe 或 setup.msi

-o <output_folder>

.intunewin 的寫入位置;若以安靜模式執行且不存在,將會建立

-a <catalog_folder>

為 Windows 10 S mode 搭售的目錄檔案

-q

安靜模式:不顯示提示,覆寫現有輸出

-qq

包含 -q 的所有功能,另外不輸出主控台內容

請注意,如果同時使用 -q 和 -qq,後者會優先生效。

此外,1.8.2 版新增了將輸出重新導向至記錄檔的支援,這在封裝於指令碼中執行時很實用。例如:

IntuneWinAppUtil.exe -c SomeSample -s Setup.exe -o .-q > test.log

如何為 Intune 封裝 MSI、EXE 和 PSADT 應用程式

如果要為 Intune 封裝應用程式,安裝檔將取決於安裝程式類型。因此,MSI、EXE 與 PSADT 安裝程式之間有幾項主要差異。封裝應用程式時,請記住以下幾個重點:

MSI 安裝程式

當您傳入 .msi作為安裝程式檔案時,工具會從 MSI 讀取 Intune 所需的資訊。這讓 MSI 套件成為最容易設定的選項。如果它使用轉換檔 (.mst),請務必將它放在相同的來源資料夾中,這樣才會一併包含在套件內。我們的 msiexec 靜默安裝指南 說明了在安裝命令中要使用的參數和屬性。

雖然 MSI 即使不包裝成 Win32 也很容易部署,但有時仍然有必要進行包裝。Intune 的企業營運 MSI 類型只允許一個命令列引數,因此更複雜的情況都需要 Win32。

EXE 安裝程式

如果需要傳遞 .exe作為安裝檔,則需要在 Intune 中手動設定安裝與解除安裝命令,以及偵測規則,因為該工具只會從 MSI 檔案讀取應用程式詳細資料。靜默安裝參數取決於用來建立安裝程式的架構,例如 Inno Setup、NSIS 或 InstallShield。我們的EXE 靜默安裝指南說明了如何找到這些參數。

PSADT 套件

如果使用 PowerShell App Deployment Toolkit(PSADT)套件,建議在整個部署資料夾上執行此工具。接著,使用 Invoke-AppDeployToolkit.exe 作為安裝檔,這樣整個 toolkit 資料夾(包括 Files、Config 和模組)都會納入 .intunewin。

例如,可能會像這樣:

IntuneWinAppUtil.exe -c C:\Packages\YourApp -s Invoke-AppDeployToolkit.exe -o C:\Output

建立 .intunewin 後,需在 Intune 中設定的內容

在 .intunewin檔案建立完成後,您仍需要在 Intune 中設定偵測規則、需求規則等。前往 Apps → All Apps → Create → Windows app (Win32) 並上傳 .intunewin檔案,然後進行所需的設定。請使用最新版的 Content Prep Tool,因為如果套件是用較舊版本建置,Intune 會顯示警告。

您可以在 Microsoft Learn 找到更深入的指南。如果您從 WinGet 存放庫部署應用程式,請參閱如何使用 Intune 部署 WinGet 應用程式。

安裝與解除安裝命令

安裝與解除安裝命令會告訴 Intune 如何執行安裝程式。安裝命令可以是命令列,例如 ApplicationName.exe /quiet,或是大小不超過 50 KB 的已上傳 PowerShell 指令碼。在任一命令欄位中呼叫 powershell.exe 都會啟動 32 位元 PowerShell,因此在需要 64 位元時,請使用 %SystemRoot%\Sysnative\WindowsPowerShell\v1.0\powershell.exe。解除安裝命令不會展開環境變數,因此若有需要,請在套件中加入包裝指令碼。

當安裝程式完成後,其結束代碼會告知 Intune 安裝是否成功(0)、是否需要重試(1618),或是否需要重新啟動才能完成(3010 或 1641)。建立應用程式時,可以檢視並編輯 Intune 如何處理各個傳回代碼。重試代碼最多會觸發三次嘗試,每次間隔五分鐘。

需求規則

需求規則會判斷裝置是否應接收該應用程式。每個應用程式都需要作業系統架構和最低 OS 版本,此外也可選擇設定磁碟空間、記憶體、邏輯處理器和 CPU 速度。您也可以新增規則,檢查檔案、登錄值或 PowerShell 指令碼的執行結果。

偵測規則

使用偵測規則時,您可設定 Intune 判定應用程式已安裝的參數。您至少必須設定一項偵測規則,而且所有規則都必須符合,Intune 才會偵測到該應用程式已安裝。

偵測規則共有四種類型:

  • MSI 產品代碼(Content Prep Tool 會將代碼儲存在套件中,而 Intune 會在建立此規則時自動填入)

  • 檔案或資料夾

  • 登錄檔

  • 自訂 PowerShell 指令碼(指令碼必須以 0 結束並寫入 STDOUT 以驗證安裝;任何 STDERR 輸出都表示不會被視為已安裝)

導致 Win32 應用程式安裝失敗的常見錯誤

即使依照每個步驟操作,在 Intune 上安裝 Win32 應用程式仍可能遇到一些挑戰。如果遇到非預期問題,例如 Win32 應用程式安裝失敗卻沒有明確原因,可以依照以下疑難排解步驟來找出並修正錯誤。

常見錯誤包括:

  • 不只是打包應用程式:打包檔案時,工具會將來源資料夾中的所有內容都壓縮起來。這可能會不小心將工具的副本、舊套件或不相關的檔案一併包含在 .intunewin 中,讓套件變得臃腫。

  • 將輸出寫入來源資料夾:如果輸出資料夾位於來源資料夾內,下一次建置會將先前的 .intunewin在新的那個裡面。

  • 非靜默安裝程式:Intune 的設計是支援靜默安裝,不支援互動式安裝。像 ServiceUI 這類的因應方式不受支援,因此充其量也只是可能不可靠。請務必先從提高權限的命令提示字元測試安裝命令,再進行封裝。

  • 偵測規則與安裝程式實際寫入的內容不符:有時候,即使安裝成功,Intune 仍會顯示為遺失。這就是偵測規則派上用場的地方,因為可以調整規則來偵測應用程式的特定內容。

  • 需要管理員權限的使用者內容安裝:如果以使用者為目標的 Win32 應用程式需要標準使用者沒有的權限,就會失敗。請務必確認安裝程序以所需權限執行,才能順利完成安裝。

  • 大型安裝程式遇到逾時: 特別大型的安裝可能耗時過久而逾時。預設安裝時間為 60 分鐘,但您可以將其設定為最長 24 小時,因此對於較大的應用程式,可能需要調整時間限制。

  • 工具的過時副本:如果使用過時版本的工具來封裝應用程式,Intune 會將其標示出來。請讓 Content Prep Tool 保持在最新版本,因為較新的版本會修正錯誤,例如舊版在處理超過 4 GB 的檔案時可能會失敗。

如果需要進一步協助,隨時都可以查看 Microsoft 的疑難排解 Win32 應用程式問題頁面,進行記錄檔層級的診斷。

新版本推出時,如何更新 Win32 應用程式

當應用程式發布新版本時,會希望能快速更新端點。不過,每個 .intunewin檔案都綁定單一安裝程式版本,因此沒有簡單的「更新」按鈕:每個新版本都代表必須建立並設定新的套件。

為新版本重新建立部署套件

當您想要更新 Win32 應用程式時,必須為新版本重新建置套件。只需幾個簡單步驟即可完成:

  1. 請替換來源資料夾中的安裝程式,或為每個新版本建立一個新資料夾。

  2. 執行 Content Prep Tool 以建立新的 .intunewin檔案,使用來源資料夾。

  3. 在 Intune 中建立新的 Win32 應用程式,並更新任何特定版本的內容,例如安裝命令、偵測規則和需求規則。

  4. 在向更大規模的裝置群組推出之前,先在一小組試點裝置上測試新版本。

每當應用程式更新時,都需要在每次發行版本中重複這個流程。對於每月更新的應用程式來說,這可能會變成冗長又重複的流程。

Intune 應用程式取代功能的運作方式

Supersedence 會將新應用程式連結到它所取代的應用程式,讓 Intune 知道要更新或移除舊版本,而不是讓兩者同時保留。

若要直接更新應用程式,可以關閉「Uninstall previous version。」開啟此選項會將解除安裝命令傳送到舊版應用程式,讓它由較新的版本取代。請注意,如果新的安裝程式本身就會升級舊版本,則不需要解除安裝。

一個取代關係最多可包含 10 個應用程式,鏈結中的每個應用程式都會計入。您可以在 Microsoft 的Add Win32 app supersedence頁面了解應用程式取代的設定步驟。

如何為 Intune 自動化 Win32 應用程式封裝

針對 Intune 的 Win32 應用程式封裝可能相當耗時,尤其是在有多個應用程式且需要反覆更新時。幸好,AI 應用程式封裝可以替團隊分擔大部分這類工作。這就帶到 Splashtop Agentic Packr——一款以 AI 驅動的應用程式封裝與部署工具。

Splashtop Agentic Packr 可透過 Microsoft Intune、SCCM 等平台封裝、驗證及部署應用程式,無須進行通常所需的手動作業。因為它是以 PSADT 為基礎建置,IT 團隊可以開啟、檢視並調整任何套件,而且在發佈任何內容之前,會先檢查測試結果。

Splashtop Agentic Packr 涵蓋內容準備與封裝的所有關鍵步驟,包括:

  • 建立套件:Splashtop Agentic Packr 會分析安裝程式,並建立 PSADT 套件與 Intune 套件。可依據組織需求,透過 WinGet 或 Chocolatey ID、其經驗證的目錄,或您自己的安裝程式來建立。

  • 偵測規則:AI 會為每個應用程式撰寫偵測規則,以驗證其是否已正確安裝。

  • 測試:每個套件都會先在乾淨的虛擬機器上測試,並在發佈前進行安全性掃描。IT 團隊會收到 QA 評分卡和記錄檔,以便在每個應用程式和更新發佈前進行審查。

  • 發佈:您可以將 Intune tenant 與 Express connection 連接,直接發佈應用程式,同時接收各裝置的部署狀態。

  • 新版本: 當有新的應用程式版本可用時,Splashtop Agentic Packr 會偵測到並自動建立更新後的套件,無需再為每個版本手動建立新套件。

別再重新建置 .intunewin檔案還要手動處理

雖然 Win32 Content Prep Tool 很適合用來建立套件,但那只是開始。IT 團隊仍然得花上數小時處理偵測規則、測試,以及為每次更新建立新套件。

Splashtop Agentic Packr 能把這些工作從團隊待辦中移開。它會建立套件、撰寫偵測規則、執行測試,並讓應用程式維持最新狀態,讓經過測試的 Win32 應用程式發佈到 Intune 並持續保持最新版本,同時讓 IT 專注於更複雜的工作。

看看 Splashtop Agentic Packr 如何協助團隊更快完成應用程式封裝與部署。

別再手動封裝應用程式
讓 Splashtop Agentic Packr 為每個應用程式與更新完成建置、測試並發佈到 Intune。團隊只需檢視結果,裝置就能保持在最新狀態,無需手動撰寫指令碼。


分享
RSS 摘要訂閱

常見問題

什麼是 Intune Win32 Content Prep Tool?
我可以在哪裡下載 Microsoft Win32 Content Prep Tool?
如何建立 .intunewin 檔案?
我可以擷取或編輯 .intunewin 檔案嗎?
我需要使用 Content Prep Tool 才能透過 Intune 部署 MSI 嗎?
為什麼我的 Intune Win32 應用程式安裝失敗?
當新版本推出時,如何在 Intune 中更新 Win32 應用程式?

相關內容

A man working on his computer in an office.
代理式應用程式封裝

什麼是應用程式封裝?IT 團隊指南

深入了解
A person working on a computer in an office.
代理式應用程式封裝

如何使用 Intune 部署 WinGet 應用程式:4 種有效方法

Two coworkers typing code on their computers.
代理式應用程式封裝

靜默安裝 EXE:如何找到並使用正確的參數

A man working on a computer with code on-screen in an office.
代理式應用程式封裝

如何執行 msiexec 靜默安裝:命令與參數

查看所有部落格