ファクトリ OS で診断 Win32 アプリを使用する
ファクトリ OS の win32_manufacturing および win32_development 製品構成を使用すると、製造、プロビジョニング、ハードウェア検証フロー中に、コンテナー内の既存の Win32 製造アプリと診断アプリを実行できます。 これらのファクトリ OS 製品構成では、コンテナーのサポートに Hyper-V が、また ホストとゲスト オペレーティング システム間の通信に RDP が使用されます。
win32 のサポートを含むファクトリ OS イメージ用のワークスペースを作成する
win32 のサポートを含むファクトリ OS イメージの作成を開始するには、新しいワークスペースを作成する必要があります。
管理者として Windows システム キット環境を開きます。
FactoryOS
製品とwin32_manufacturing
またはwin32_development
の製品構成を指定して、PrepWSKWorkspace
を実行します。PrepWSKWorkspace C:\FactoryOSWin32Manufacturing -Product FactoryOS -ProductConfiguration win32_manufacturing
新しいワークスペース内の OEMInput.xml には、コンテナーをイメージに含める機能があります。
イメージをカスタマイズします。 [ファクトリ OS イメージを作成する](build-a-Factory OS-image.md#5-add-drivers) の手順 5 から実行して、イメージのカスタマイズを完了します。 テスト コンテンツ フォルダーを使用して付帯品をコンテナーに追加する方法については、以下の「付帯品をコンテナーに追加する」を参照してください。
ファクトリ OS のコンテナーを操作する
シェル ブートとコンソール ブートの両方から、Factory OS のコンテナーを制御したり操作したりできます。
シェル ブート
Factory OS シェルで起動した場合、以下を使用してコンテナーを操作できます。
- 特別なファクトリ Orchestrator XML ファイルを含む、ファクトリ Orchestrator タスク一覧
- ファクトリ Orchestrator アプリまたは API を使用してリモートに、またはデバイス上でローカルに操作
- リモート デスクトップ アプリを介してローカルに操作 (コンテナーでコマンド プロンプトが起動します)
コンソール ブート
コンソール ブート モードでファクトリ OS を起動した場合、以下を使用してコンテナーを操作できます。
- 特別なファクトリ Orchestrator XML ファイルを含む、ファクトリ Orchestrator タスク一覧
- ファクトリ Orchestrator API を使用してリモートに、またはデバイス上でローカルに操作
- ファクトリ Orchestrator アプリでリモートに操作
付帯品をコンテナーに追加する
この製品構成を使用してファクトリ OS イメージをビルドする場合、イメージングおよび実行時に診断 Win32 アプリを展開して実行できます。
- イメージの作成中にコンテナー アプリを追加する:
Container
というフォルダーをテスト コンテンツ フォルダーに含めます。Container
フォルダー内のコンテンツはファクトリ OS とC:\TestContent\Container
にあるコンテナーの両方で使用できますContainer
フォルダーは、再起動後もそのコンテンツが保持される、コンテナー内の唯一のフォルダーです。 コンテナー内で他のファイルとレジストリに加えた変更は、デバイスを再起動するとすべて削除されます
- 実行中にアプリを追加する: 実行中のデバイスがあり、コンテナーにアプリを追加する必要がある場合は、次を実行できます。
- ファクトリ Orchestrator アプリまたは API を使用して、ローカルまたはリモートでファイルをコンテナーにコピーする
- TShell の
put-device
コマンドを使用して、ファイルをC:\TestContent\Container
フォルダーにコピーする - sftp を使用して、ファイルを
C:\TestContent\Container
フォルダーにコピーする
GUI win32 アプリを実行する
GUI を必要とする win32 アプリがある場合は、ファクトリ OS に含まれているリモート デスクトップ UWP アプリを使用します。 次の手順では、GUI アプリが読み込まれたコンテナーを含むファクトリ OS デバイスが実行中であることを前提としています。
- ファクトリ Orchestrator で、[コマンド プロンプト] タブに移動します。
- [コンテナーで実行] をオンにします。
- 表示される [コンテナー UI の表示] ボタンをクリックします。
- これで、デバイス上のコンテナーに接続され、コンテナーの左下隅に最小化されたコマンド プロンプトが表示されます。 このコマンド プロンプトを最大化して使用することで、アプリを起動できます。
ファクトリ OS に戻る方法
ファクトリ OS に戻るには、以下の手順を実行します。
- [リモート デスクトップ アプリ] ウィンドウの上部中央にある [...] をクリックします
- ファクトリ Orchestrator または切り替える別のアプリが表示されるまで、Alt + Tab キーを押し続けます。
コマンド プロンプト ウィンドウを誤って閉じてしまった場合
ファクトリ OS に戻ります。
- [リモート デスクトップ アプリ] ウィンドウの上部中央にある [...] をクリックします
- ファクトリ Orchestrator が表示されるまで Alt + Tab キーを押し続けます
ファクトリ Orchestrator で、[コマンド プロンプト] タブに移動します
[コンテナーで実行] をオンにします
[コマンド] テキスト ボックスで次のコマンドを実行します。
RunAsRdUser "c:\windows\system32\cmd.exe` `/C start cmd.exe`
[実行] アイコンのクリック
[コンテナー UI の表示] ボタンをクリックすると、コマンド プロンプトが再び表示されます
ファクトリ Orchestrator タスクリストの一部としてコンテナーで win32 アプリを実行する
ファクトリ Orchestrator でタスクを作成する場合、タスクの作成時に [コンテナーで実行しますか? ] チェック ボックスをオンにすると、そのタスクがコンテナーで実行されるように構成できます。
また、FactoryOrchestratorXML ファイルを作成して、コンテナーで実行するタスクに RunInContainer="true" 属性を追加することで、これを実行することもできます。
- タスク一覧を実行すると、ファクトリ Orchestrator によって、コンテナーで実行中のタスクに GUI が必要であるかどうかが自動的に検出されます。
- タスクに GUI が必要な場合、コンテナーへのリモート デスクトップ接続が自動的に確立されます。 接続が確立されると、タスクが自動的に起動します。 プログラムが終了すると、リモート デスクトップ接続が終了し、タスク一覧の次のタスクが自動的に開始されます。
サポートの範囲
アプリのカテゴリ
一部のカテゴリのアプリは、コンテナーのサポート範囲に含まれていません。次に、ファクトリ OS コンテナーにおいて範囲内に含まれる、および含まれないアプリの一覧を示します。
- 対象範囲内:
- パッケージ化されていない Win32 コンソール アプリ
- UI が制限されている、パッケージ化されていない Win32 アプリ
- パッケージ化された Win32 コンソール アプリ
- UI が制限されている、パッケージ化された Win32 アプリ
- 対象範囲外:
- プロ用のビデオ編集など、高スペックのハードウェアを必要とするカテゴリのアプリ
- ホストとゲスト オペレーティング システムの間で COM (コンポーネント オブジェクト モデル) のサポートを必要とするアプリ
サポートされていないシナリオ
次の一部のシナリオはサポートされていません。
面グラフ | シナリオ |
---|---|
メディア転送プロトコル (MTP) |
|
USB 印刷 | プリンターのサポート |
Virtualization | 独自のハイパーバイザーをインストールするアプリ |
独自のドライバーをインストールするアプリ | コンテナー境界を越えた操作が必要なため、ドライバーをインストールして起動する Win32 アプリは予期しない動作をすることがあります |
画面の取り込み | ホスト OS の画面の取り込みの作成を試みるアプリ |
シェル統合が必要なアプリ | タスク バーの操作や他のシェル操作が必要なアプリ |