Freigeben über


Verwenden von Win32-Diagnose-Apps im Factory-Betriebssystem

Mit den Factory OS-Produktkonfigurationen "win32_manufacturing" und "win32_development" können Sie Ihre vorhandenen Win32-Fertigungs- und Diagnose-Apps in einem Container während der Herstellung, Bereitstellung und Hardwareüberprüfung ausführen. Diese Factory OS-Produktkonfigurationen verwenden Hyper-V für die Containerunterstützung und RDP, um zwischen den Host- und Gastbetriebssystemen zu kommunizieren.

Erstellen eines Arbeitsbereichs für ein Factory OS-Image, das win32-Unterstützung enthält

Für die ersten Schritte bei der Erstellung eines Factory OS-Images mit win32-Support müssen Sie einen neuen Arbeitsbereich erstellen:

  1. Öffnen Sie die Windows System Kit-Umgebung als Administrator.

  2. Führen Sie PrepWSKWorkspace aus, und geben Sie das FactoryOS-Produkt und entweder die win32_manufacturing- oder die win32_development-Produktkonfiguration an:

    PrepWSKWorkspace C:\FactoryOSWin32Manufacturing -Product FactoryOS -ProductConfiguration win32_manufacturing
    

    Die Datei "OEMInput.xml" in Ihrem neuen Arbeitsbereich enthält die Features, die den Container in Ihr Bild einschließen sollen.

  3. Passen Sie das Image an. Befolgen Sie die Anweisungen ab Schritt 5 unter [Erstellen eines Factory OS-Images](build-a-Factory OS-image.md#5-add-drivers), um die Image-Anpassung abzuschließen. Unter Hinzufügen von Begleitmaterial zum Container unten finden Sie Informationen zur Verwendung des Ordners "Testinhalt", um dem Container Begleitmaterial hinzuzufügen.

Interagieren mit Containern in Factory OS

Über den Shell- und den Konsolenstart können Sie Factory OS-Container steuern und mit ihnen interagieren.

Shell-Start

Beim Start in der Factory OS-Shell können Sie wie folgt mit den Containern interagieren:

  • Factory Orchestrator Tasklists, einschließlich der speziellen Factory Orchestrator-XML-Dateien
  • Factory Orchestrator-App oder APIs (remote oder lokal auf dem Gerät)
  • Lokal über die Remotedesktop-App, die eine Eingabeaufforderung im Container startet

Konsolenstart

Beim Start von Factory OS im Konsolenstartmodus können Sie wie folgt mit den Containern interagieren:

  • Factory Orchestrator Tasklists, einschließlich der speziellen Factory Orchestrator-XML-Dateien
  • Factory Orchestrator-APIs (remote oder lokal auf dem Gerät)
  • Factory Orchestrator-App (remote)

Hinzufügen von Begleitmaterial zum Container

Sie können Diagnose-Win32-Apps während der Image-Erstellung und Laufzeit bereitstellen und ausführen, wenn Sie ein Factory OS-Image mithilfe dieser Produktkonfiguration erstellen:

  • Hinzufügen von Container-Apps während der Image-Erstellung: Schließen Sie einen Ordner ein, der im Ordner Testinhalt als Container bezeichnet wird:
    • Der Inhalt im Ordner Container ist sowohl in Factory OS als auch im Container unter C:\TestContent\Container verfügbar
    • Der Ordner Container ist der einzige Ordner im Container, dessen Inhalt nach einem Neustart beibehalten wird. Alle anderen Datei- und Registrierungsänderungen, die Sie im Container vornehmen, werden beim Neustarten des Geräts entfernt.
  • Hinzufügen von Apps während der Laufzeit: Wenn ein Gerät ausgeführt wird und Sie eine App zum Container hinzufügen müssen, können Sie wie folgt vorgehen:
    • Kopieren von Dateien in den Container (lokal oder remote) mithilfe der Factory Orchestrator-App oder -APIs
    • Kopieren von Dateien in den Ordner C:\TestContent\Container mithilfe des TShell-put-device-Befehls
    • Kopieren von Dateien in den Ordner C:\TestContent\Container mithilfe von sftp

Ausführen von GUI Win32-Apps

Wenn Sie über eine Win32-App verfügen, die eine GUI erfordert, verwenden Sie die UWP-App für Remotedesktop, die in Factory OS enthalten ist. In den folgenden Anweisungen wird davon ausgegangen, dass Sie über ein aktives Factory OS-Gerät mit einem Container verfügen, der mit einer GUI-App geladen wurde:

  1. Wechseln Sie in Factory Orchestrator zur Registerkarte "Eingabeaufforderung".
  2. Überprüfen Sie die Ausführung im Container.
  3. Klicken Sie auf die angezeigte Schaltfläche "Containeroberflächen anzeigen".
  4. Sie sind jetzt mit dem Container auf Ihrem Gerät verbunden und sollten eine Eingabeaufforderung sehen, die in der unteren linken Ecke im Container minimiert ist. Sie können diese Eingabeaufforderung maximieren und dann verwenden, um Ihre Apps zu starten.

So kehren Sie zu Factory OS zurück

Sie können zu Factory OS zurückkehren, indem Sie wie folgt vorgehen:

  1. Klicken Sie im Remotedesktop-App-Fenster oben in der Mitte auf "...".
  2. Drücken Sie ALT+Tab, bis Factory Orchestrator oder eine andere App angezeigt wird, zu der Sie wechseln möchten.

Wenn Sie versehentlich das Eingabeaufforderungsfenster schließen

  1. Kehren Sie zu Factory OS zurück:

    1. Klicken Sie im Remotedesktop-App-Fenster oben in der Mitte auf "...".
    2. Drücken Sie ALT+Tab, bis Factory Orchestrator angezeigt wird
  2. Wechseln Sie in Factory Orchestrator zur Registerkarte "Eingabeaufforderung".

  3. Aktivieren Sie das Kontrollkästchen "In Container ausführen".

  4. Führen Sie im Textfeld "Befehl" den folgenden Befehl aus:

    RunAsRdUser "c:\windows\system32\cmd.exe` `/C start cmd.exe`
    
  5. Klicken Sie auf das Symbol „Ausführen“.

  6. Klicken Sie auf die Schaltfläche "Container-Benutzeroberfläche anzeigen". Daraufhin wird die Eingabeaufforderung wieder angezeigt.

Ausführen von Win32-Apps im Container als Teil einer Factory Orchestrator-TaskList

Wenn Sie eine Aufgabe in Factory Orchestrator erstellen, können Sie diese Aufgabe so konfigurieren, dass sie im Container ausgeführt wird. Aktivieren Sie dazu das Kontrollkästchen In Container ausführen?, wenn Sie die Aufgabe erstellen:

Factory Orchestrator-Fenster für neue ausführbare Aufgabe mit dem Kontrollkästchen

Sie können dazu auch eine FactoryOrchestratorXML-Datei erstellen und ein RunInContainer="true"-Attribut zu den Aufgaben hinzufügen, die Sie im Container ausführen möchten.

  • Wenn Sie eine TaskList ausführen, erkennt Factory Orchestrator automatisch, ob die für die im Container ausgeführte Aufgabe eine GUI erforderlich ist.
  • Wenn die Aufgabe eine GUI erfordert, wird automatisch eine Remotedesktopverbindung für den Container hergestellt. Sobald die Verbindung hergestellt wurde, wird die Aufgabe automatisch gestartet. Beim Schließen des Programms wird die Remotedesktopverbindung beendet, und die nächste Aufgabe in der TaskList wird automatisch gestartet.

Supportbereiche

App-Kategorien

Nicht alle App-Kategorien sind im Bereich der Containerunterstützung. Hier finden Sie eine umfangreiche Liste der Bereiche, die im Bereich und außerhalb des Bereichs der App-Kompatibilität in Factory OS-Containern sind:

  • Im Bereich:
    • Entpackte Win32-Konsolen-Apps
    • Entpackte Win32-Apps mit eingeschränkter Benutzeroberfläche
    • Gepackte Win32-Konsolen-Apps
    • Gerpackte Win32-Apps mit eingeschränkter Benutzeroberfläche
  • Nicht im Bereich:
    • App-Kategorien, die Hardware mit hoher Spezifikation erfordern, z. B. professionelle Videobearbeitung
    • Apps, die COM-Unterstützung (Komponentenobjektmodell) zwischen den Host- und Gastbetriebssystemen benötigen

Nicht unterstützte Szenarien

Einige Szenarien werden nicht unterstützt:

Bereich Szenarien
Medienübertragungsprotokoll (MTP)
  • Herstellen einer Verbindung mit dem Gerät
  • Kopplung von Geräten wie Telefonen
    USB-Druck Druckerunterstützung
    Virtualisierung Apps, die ihren eigenen Hypervisor installieren
    Apps, die eigene Treiber installieren Win32-Apps, die Treiber installieren und starten, weisen aufgrund der erforderlichen Interaktion über die Containergrenze möglicherweise ein unerwartetes Verhalten auf.
    Bildschirmaufnahme Apps, die versuchen, eine Bildschirmaufnahme des Hostbetriebssystems zu erstellen
    Apps, die die Shell-Integration erfordern Apps, die Taskleisteninteraktionen oder andere Shell-Interaktionen benötigen