팩터리 OS에서 진단 Win32 앱 사용

영역 시나리오
MTP (미디어 전송 프로토콜)
  • 장치에 연결
  • 전화와 같은 장치 페어링
    USB 인쇄 프린터 지원
    가상화 자체 하이퍼바이저를 설치 하는 앱
    자체 드라이버를 설치 하는 앱 드라이버를 설치 하 고 시작 하는 Win32 앱은 컨테이너 경계에서 필요한 상호 작용으로 인해 예기치 않게 동작할 수 있습니다.
    화면 캡처 호스트 OS의 화면 캡처를 만들려고 하는 앱
    셸 통합이 필요한 앱 작업 표시줄 상호 작용이 나 기타 셸 상호 작용이 필요한 앱

    공장 OS win32_manufacturing 및 win32_development 제품 구성을 사용 하 여 제조, 프로 비전 및 하드웨어 유효성 검사 흐름 중에 컨테이너에서 기존 Win32 제조 및 진단 앱을 실행할 수 있습니다. 이러한 공장 OS 제품 구성에서는 컨테이너 지원 및 RDP에서 Hyper-v를 사용 하 여 호스트와 게스트 운영 체제 간에 통신 합니다.

    Win32 지원이 포함 된 팩터리 OS 이미지에 대 한 작업 영역 만들기

    Win32 지원이 포함 된 공장 OS 이미지를 만들기 시작 하려면 새 작업 영역을 만들어야 합니다.

    1. 관리자 권한으로 Windows System Kit environment를 엽니다.

    2. 을 실행 하 PrepWSKWorkspace 여 제품을 지정 하 FactoryOSwin32_manufacturing 또는 제품 구성 중 하나를 지정 합니다 win32_development .

      PrepWSKWorkspace C:\FactoryOSWin32Manufacturing -Product FactoryOS -ProductConfiguration win32_manufacturing
      

      새 작업 영역의 OEMInput.xml는 이미지에 컨테이너를 포함 하는 기능을 포함 합니다.

    3. 이미지를 사용자 지정 합니다. 5 단계에서 시작 하 여 [공장 OS 이미지 만들기] (빌드-팩터리 OS-이미지인 # 5-드라이버)의 지침에 따라 이미지 사용자 지정을 완료 합니다. 테스트 콘텐츠 폴더 를 사용 하 여 컨테이너에 참고 자료를 추가 하는 방법에 대해 알아보려면 아래 컨테이너에 참고 자료 추가 를 참조 하세요.

    공장 OS에서 컨테이너와 상호 작용

    셸 부팅 및 콘솔 부팅에서 공장 OS 컨테이너를 제어 하 고 조작할 수 있습니다.

    셸 부팅

    공장 OS 셸에 부팅 되 면 다음을 사용 하 여 컨테이너와 상호 작용할 수 있습니다.

    • 특수 한 팩터리 오 케 스트레이 터 XML 파일을 포함 한 팩터리 Orchestrator Tasklists
    • 장치에서 원격 또는 로컬로 팩터리 Orchestrator 앱 또는 Api
    • 컨테이너에서 명령 프롬프트를 시작 하는 원격 데스크톱 앱을 통해 로컬로

    콘솔 부팅

    콘솔 부팅 모드에서 공장 OS로 부팅 될 때 다음을 사용 하 여 컨테이너와 상호 작용할 수 있습니다.

    • 특수 한 팩터리 오 케 스트레이 터 XMl 파일을 포함 한 팩터리 Orchestrator Tasklists
    • 장치에서 원격 또는 로컬로 팩터리 Orchestrator Api
    • 팩터리 Orchestrator 앱 원격

    컨테이너에 참고 자료 추가

    이 제품 구성을 사용 하 여 공장 OS 이미지를 빌드할 때 이미징 및 런타임 중에 진단 Win32 앱을 배포 하 고 실행할 수 있습니다.

    • 이미지를 만드는 동안 컨테이너 앱 추가: 테스트 콘텐츠 폴더에 이라는 폴더를 포함 합니다.
      • 폴더의 콘텐츠는 Container 팩터리 OS와의 컨테이너에서 모두 사용할 수 있습니다. C:\TestContent\Container
      • Container폴더는 다시 부팅 한 후 내용이 유지 되는 컨테이너의 유일한 폴더입니다. 장치를 다시 부팅 하면 컨테이너에서 수행 하는 다른 모든 파일 및 레지스트리 변경 내용이 제거 됩니다.
    • 런타임 중 앱 추가: 실행 중인 장치가 있고 컨테이너에 앱을 추가 해야 하는 경우 다음을 수행할 수 있습니다.
      • 팩터리 Orchestrator 앱 또는 api를 사용 하 여 로컬 또는 원격으로 파일을 컨테이너에 복사
      • C:\TestContent\ContainerC:\TestContent\Container 사용 하 여 폴더에 파일 복사
      • C:\TestContent\ContainerC:\TestContent\Container 를 사용 하 여 폴더에 파일 복사

    GUI win32 앱 실행

    GUI를 필요로 하는 win32 앱이 있는 경우 공장 OS에 포함 된 원격 데스크톱 UWP 앱을 사용 합니다. 다음 지침에서는 GUI 앱을 사용 하 여 컨테이너를 로드 하는 실행 중인 팩터리 OS 장치가 있다고 가정 합니다.

    1. 팩터리 Orchestrator에서 명령 프롬프트 탭으로 이동 합니다.
    2. 컨테이너에서 실행을 선택 합니다.
    3. 표시 되는 컨테이너 UI 표시 단추를 클릭 합니다.
    4. 이제 장치의 컨테이너에 연결 되어 있으므로 컨테이너의 왼쪽 아래 모서리에 최소화 된 명령 프롬프트가 표시 됩니다. 이 명령 프롬프트를 최대화 하 고 사용 하 여 앱을 시작할 수 있습니다.

    공장 OS로 돌아가려면

    다음을 기준으로 공장 OS로 돌아갈 수 있습니다.

    1. ...를 클릭 합니다. 원격 데스크톱 앱 창의 위쪽 가운데에
    2. 팩터리 Orchestrator 또는 전환 하려는 다른 앱이 표시 될 때까지 Alt + Tab을 누릅니다.

    실수로 명령 프롬프트 창을 닫은 경우

    1. 공장 OS로 돌아가기:

      1. ...를 클릭 합니다. 원격 데스크톱 앱 창의 위쪽 가운데에
      2. 팩터리 Orchestrator가 표시 될 때까지 Alt + Tab을 누릅니다.
    2. 공장 orchestrator에서 “ 명령 프롬프트 탭으로 이동 합니다. ”

    3. “컨테이너에서 실행 확인”

    4. 명령 텍스트 상자에서 다음 명령을 실행 합니다.

      RunAsRdUser "c:\windows\system32\cmd.exe` `/C start cmd.exe`
      
    5. 실행 아이콘을 클릭합니다.

    6. 이제 "컨테이너 UI 표시" 단추를 클릭 하면 명령 프롬프트가 다시 표시 됩니다.

    팩터리 Orchestrator TaskList의 일부로 컨테이너에서 win32 앱 실행

    팩터리 Orchestrator에서 작업을 만들 때 작업을 만들 때 컨테이너에서 실행 을 선택 하 여 컨테이너에서 실행 되도록 해당 작업을 구성할 수 있습니다.

    Factory Orchestrator new executable task window showing the Run in container checkbox

    FactoryOrchestratorXML 파일을 작성 하 고 컨테이너에서 실행 하려는 작업에 RunInContainer = "true" 특성을 추가 하 여이 작업을 수행할 수도 있습니다.

    • TaskList를 실행 하는 경우 팩터리 Orchestrator는 컨테이너에서 실행 중인 작업에 GUI가 필요한 경우 자동으로 검색 합니다.
    • 작업에 GUI가 필요한 경우 원격 데스크톱 연결이 자동으로 컨테이너에 설정 됩니다. 연결이 설정 되 면 태스크가 자동으로 시작 됩니다. 프로그램이 닫히면 원격 데스크톱 연결이 종료 되 고 TaskList의 다음 태스크가 자동으로 시작 됩니다.

    지원 범위

    앱 범주

    모든 앱 범주가 컨테이너 지원 범위 내에 있는 것은 아닙니다. 여기에는 범위 내에 대 한 광범위 한 목록과 공장 OS 컨테이너에서의 앱 호환성 범위에 대 한 범위가 나와 있습니다.

    • 범위 내:
      • 패키지 되지 않은 Win32 콘솔 앱
      • UI가 제한 된 패키지 되지 않은 Win32 앱
      • 패키지 된 Win32 콘솔 앱
      • 제한 된 UI를 사용 하는 패키지 된 Win32 앱
    • 범위를 벗어났습니다.
      • 전문적인 비디오 편집과 같은 고화질 하드웨어가 필요한 앱 범주
      • 호스트 및 게스트 운영 체제 간에 COM (구성 요소 개체 모델)을 지원 해야 하는 앱

    지원되지 않는 시나리오

    지원 되지 않는 시나리오는 다음과 같습니다.