共用方式為


在 Factory OS 中使用診斷 Win32 應用程式

Factory OS win32_manufacturing和win32_development產品設定可讓您在製造、布建和硬體驗證流程期間,在容器中執行現有的 Win32 製造和診斷應用程式。 這些 Factory OS 產品組態會使用 Hyper-V 進行容器支援和 RDP,在主機和客體作業系統之間進行通訊。

建立包含 win32 支援的 Factory OS 映射工作區

若要開始建立包含 win32 支援的 Factory OS 映射,您必須建立新的工作區:

  1. 以系統管理員身分開啟 Windows System Kit 環境。

  2. 執行 PrepWSKWorkspace ,指定 FactoryOS 產品及 win32_manufacturingwin32_development 產品組態:

    PrepWSKWorkspace C:\FactoryOSWin32Manufacturing -Product FactoryOS -ProductConfiguration win32_manufacturing
    

    新工作區中的OEMInput.xml包含映射中容器的功能。

  3. 自訂您的映射。 請遵循從步驟 5 開始的指示,從 [建立 Factory OS 映射] (build-a-Factory OS-image.md#5-add-drivers) 完成自訂映射。 請參閱 將附屬專案新增至下列容器 ,以瞭解如何使用 [測試內容] 資料夾 將附屬專案新增至容器。

與 Factory OS 中的容器互動

您可以從殼層開機和主控台開機控制 Factory OS 容器並與其互動。

殼層開機

開機進入 Factory OS 殼層時,您可以使用下列專案與容器互動:

  • Factory Orchestrator 工作清單,包括特殊的 Factory Orchestrator XML 檔案
  • 在裝置上遠端或本機的 Factory Orchestrator 應用程式或 API
  • 透過遠端桌面應用程式在本機上啟動容器中的命令提示字元

主控台開機

在主控台開機模式中開機進入 Factory OS 時,您可以使用下列方式與容器互動:

  • Factory Orchestrator 工作清單,包括特殊的 Factory Orchestrator XMl 檔案
  • 在裝置上遠端或本機的 Factory Orchestrator API
  • 遠端處理站 Orchestrator 應用程式

將附屬專案新增至容器

當您使用此產品組態建置 Factory OS 映射時,您可以在映射處理和執行時間期間部署和執行診斷 Win32 應用程式:

  • 在映射建立期間新增容器應用程式:在測試內容資料夾中包含名為 Container 的資料夾:
    • Container資料夾中的內容將可在 Factory OS 和容器中使用C:\TestContent\Container
    • 資料夾 Container 是容器中唯一的資料夾,其內容會在重新開機後保存。 當您重新開機裝置時,將會移除您在容器中所做的所有其他檔案和登錄變更
  • 在執行時間期間新增應用程式:如果您有執行中的裝置,且需要將應用程式新增至容器,您可以:

執行 GUI win32 應用程式

如果您有需要 GUI 的 win32 應用程式,請使用 Factory OS 中包含的遠端桌面 UWP 應用程式。 下列指示假設您有執行中的 Factory OS 裝置,且容器已載入 GUI 應用程式:

  1. 在 Factory Orchestrator 中,移至 [命令提示字元] 索引標籤。
  2. 核取 [在容器中執行]。
  3. 按一下出現的 [顯示容器 UI] 按鈕。
  4. 您現在已連線到裝置上的容器,而且應該會在容器左下角看到最小化的命令提示字元。 您可以最大化,然後使用此命令提示字元來啟動您的應用程式。

返回 Factory OS

您可以透過:

  1. 按一下 ...在遠端桌面應用程式視窗的頂端中心
  2. 按 Alt + 索引標籤,直到您看到 Factory Orchestrator 或其他您想要切換的應用程式為止。

如果您不小心關閉命令提示字元視窗

  1. 返回 Factory OS:

    1. 按一下 ...在遠端桌面應用程式視窗的頂端中心
    2. 按 Alt+Tab 鍵直到您看到 Factory Orchestrator
  2. 在處理站協調器中,移至 [命令提示字元] 索引標籤

  3. 檢查 [在容器中執行]

  4. 在 [命令] 文字方塊中執行下列命令:

    RunAsRdUser "c:\windows\system32\cmd.exe` `/C start cmd.exe`
    
  5. 按一下 [Run] \(執行\) 圖示

  6. 按一下 [顯示容器 UI] 按鈕,現在會顯示命令提示字元

在容器中執行 win32 應用程式作為 Factory Orchestrator TaskList 的一部分

當您在 Factory Orchestrator 中建立工作時,您可以在建立工作時選取 [ 在容器中執行? ] 核取方塊,將該工作設定為在容器中執行:

Factory Orchestrator 新的可執行工作視窗,其中顯示 [在容器中執行] 核取方塊

您也可以藉由撰寫 FactoryOrchestratorXML 檔案,並將 RunInContainer=「true」 屬性新增至您想要在容器中執行的工作來完成此動作。

  • 當您執行 TaskList 時,Factory Orchestrator 會自動偵測容器中執行的工作是否需要 GUI。
  • 如果工作需要 GUI,就會自動建立與容器的遠端桌面連線。 建立連線之後,工作就會自動啟動。 關閉程式時,遠端桌面連線會終止,且 TaskList 中的下一個工作會自動啟動。

支援範圍

應用程式類別

並非所有應用程式類別都位於容器支援的範圍內:以下是範圍內內容的廣泛清單,以及處理站 OS 容器中應用程式相容性的範圍不足:

  • 範圍內:
    • 解壓縮的 Win32 主控台應用程式
    • 解壓縮具有有限 UI 的 Win32 應用程式
    • 封裝的 Win32 主控台應用程式
    • 具有有限 UI 的已封裝 Win32 應用程式
  • 範圍不足:
    • 需要高規格硬體的應用程式類別,例如專業影片編輯
    • 需要 COM (元件物件模型的應用程式) 主機和客體作業系統之間的支援

不支援的情節

不支援某些案例:

區域 案例
媒體傳輸通訊協定 (MTP)
  • 連線到裝置
  • 配對手機等裝置
    USB 列印 印表機支援
    虛擬化 安裝自己的 Hypervisor 的應用程式
    安裝自己的驅動程式的應用程式 安裝及啟動驅動程式的 Win32 應用程式可能會因為容器界限之間的必要互動而意外地運作
    螢幕擷取 嘗試建立主機 OS 螢幕擷取的應用程式
    需要殼層整合的應用程式 需要工作列互動或其他殼層互動的應用程式