Freigeben über


Ausführen einer lokal installierten Anwendung in einer virtuellen Umgebung mit virtualisierten Anwendungen (Windows 10/11)

Betrifft:

  • Windows 7 SP1
  • Windows 10
  • Windows 11
  • Windows Server 2012 R2
  • Windows Server 2016

Sie können eine lokal installierte Anwendung in einer virtuellen Umgebung zusammen mit Anwendungen ausführen, die mithilfe von Microsoft Application Virtualization (App-V) virtualisiert wurden. Sie können diese Aufgabe ausführen, wenn Sie:

  • Sie möchten eine Anwendung lokal auf Clientcomputern installieren und ausführen, aber bestimmte Plug-Ins virtualisieren und ausführen, die mit dieser lokalen Anwendung funktionieren.

  • Behandeln Sie ein App-V-Clientpaket und möchten eine lokale Anwendung in der virtuellen App-V-Umgebung öffnen.

Verwenden Sie eine der folgenden Methoden, um eine lokale Anwendung in der virtuellen App-V-Umgebung zu öffnen:

Jede Methode erfüllt im Wesentlichen dieselbe Aufgabe, aber einige Methoden sind möglicherweise für einige Anwendungen besser geeignet als andere, je nachdem, ob die virtualisierte Anwendung bereits ausgeführt wird.

AusführenVirtueller Registrierungsschlüssel

Um eine lokal installierte Anwendung zu einem Paket oder der virtuellen Umgebung einer Verbindungsgruppe hinzuzufügen, fügen Sie dem RunVirtual Registrierungsschlüssel im registrierungsinternen Editor einen Unterschlüssel hinzu, wie in den folgenden Abschnitten beschrieben.

Es ist keine Gruppenrichtlinie Einstellung verfügbar, um diesen Registrierungsschlüssel zu verwalten. Sie müssen also Microsoft Intune oder Configuration Manager, ein anderes ESD-System (Electronic Software Distribution) verwenden oder die Registrierung manuell bearbeiten.

Ab App-V 5.0 SP3 können Sie bei Verwendung von RunVirtual Pakete global oder für den Benutzer veröffentlichen.

Schritte zum Erstellen des Unterschlüssels

  1. Erstellen Sie anhand der Informationen in der folgenden Tabelle einen neuen Registrierungsschlüssel, indem Sie den Namen der ausführbaren Datei verwenden, z. B.MyApp.exe.

    • Global veröffentlicht: Create den HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\RunVirtual Registrierungsschlüssel.

      Erstellen Sie HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\RunVirtual\MyApp.exebeispielsweise .

    • Für den Benutzer veröffentlicht: Create den HKEY_CURRENT_USER\SOFTWARE\Microsoft\AppV\Client\RunVirtual Registrierungsschlüssel.

      Erstellen Sie HKEY_CURRENT_USER \SOFTWARE\Microsoft\AppV\Client\RunVirtual\MyApp.exebeispielsweise .

    • Die Verbindungsgruppe kann wie folgt sein:

      • Pakete, die global oder nur für den Benutzer veröffentlicht werden
      • Pakete, die global und für den Benutzer veröffentlicht werden

      Verwenden Sie die HKEY_LOCAL_MACHINE Taste oder HKEY_CURRENT_USER . Alle folgenden Bedingungen müssen jedoch erfüllt sein:

      • Wenn Sie mehrere Pakete in die virtuelle Umgebung einschließen möchten, müssen Sie sie in eine aktivierte Verbindungsgruppe einschließen.

      • Create nur einen Unterschlüssel für eines der Pakete in der Verbindungsgruppe. Beispielsweise verfügen Sie über ein Paket, das global veröffentlicht wird, und ein anderes Paket, das für den Benutzer veröffentlicht wird. Sie erstellen einen Unterschlüssel für eines dieser Pakete, aber nicht für beide Pakete. Obwohl Sie einen Unterschlüssel nur für eines der Pakete erstellen, sind alle Pakete in der Verbindungsgruppe sowie die lokale Anwendung in der virtuellen Umgebung verfügbar.

      • Der Schlüssel, unter dem Sie den Unterschlüssel erstellen, muss mit der Veröffentlichungsmethode übereinstimmen, die Sie für das Paket verwendet haben.

        Wenn Sie das Paket beispielsweise für den Benutzer veröffentlicht haben, müssen Sie den Unterschlüssel unter HKEY_CURRENT_USER\SOFTWARE\Microsoft\AppV\Client\RunVirtualerstellen. Fügen Sie keinen Schlüssel für dieselbe Anwendung unter beiden Strukturen hinzu.

  2. Legen Sie den Wert des neuen Registrierungsunterschlüssels auf PackageId und VersionId des Pakets fest, und trennen Sie die Werte durch einen Unterstrich.

    Syntax: <PackageId>_<VersionId>

    Beispiel: 4c9099996-afc9-4352-b606-0b74542a09c1_be463724-Oct1-48f1-8604-c4bd7ca92fa

    Die Anwendung im vorherigen Beispiel würde eine Registrierungsexportdatei (.reg Datei) wie im folgenden Beispiel erzeugen:

    Windows Registry Editor Version 5.00
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\RunVirtual]
    @=""
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\RunVirtual\MyApp.exe]
    @="aaaaaaaa-bbbb-cccc-dddd-eeeeeeee_11111111-2222-3333-4444-555555555
    

Get-AppvClientPackage Windows PowerShell Cmdlet

Sie können das Cmdlet Start-AppVVirtualProcess verwenden, um den Paketnamen abzurufen und dann einen Prozess in der virtuellen Umgebung des angegebenen Pakets zu starten. Mit dieser Methode können Sie jeden Befehl im Kontext eines App-V-Pakets starten, unabhängig davon, ob das Paket gerade ausgeführt wird.

Verwenden Sie die folgende Beispielsyntax, und ersetzen Sie den Namen Ihres Pakets durch <Package>:

$AppVName = Get-AppvClientPackage <Package>

Start-AppvVirtualProcess -AppvClientObject $AppVName cmd.exe

Wenn Sie den genauen Namen Ihres Pakets nicht kennen, können Sie die Befehlszeile Get-AppvClientPackage YourExecutableverwenden, wobei YourExecutable der Name der Anwendung ist. Geben Sie beispielsweise ein Get-AppvClientPackage Word.

Befehlszeilenschalter /appvpid:<PID>

Sie können den /appvpid:<PID> Schalter auf einen beliebigen Befehl anwenden. Dadurch kann dieser Befehl in einem virtuellen Prozess ausgeführt werden, den Sie auswählen, indem Sie seine Prozess-ID (PID) angeben. Mit dieser Methode wird die neue ausführbare Datei in derselben App-V-Umgebung wie eine ausführbare Datei gestartet, die bereits ausgeführt wird.

Beispiel: cmd.exe /appvpid:8108

Um die Prozess-ID (PID) Ihres App-V-Prozesses zu ermitteln, führen Sie den Befehl tasklist.exe an einer Eingabeaufforderung mit erhöhten Rechten aus.

Befehlszeilen-Hookschalter /appvve:<GUID>

Mit diesem Schalter können Sie einen lokalen Befehl in der virtuellen Umgebung eines App-V-Pakets ausführen. Im Gegensatz zum / appvid-Switch , bei dem die virtuelle Umgebung bereits ausgeführt werden muss, können Sie mit diesem Switch die virtuelle Umgebung starten.

Syntax: cmd.exe /appvve:<PACKAGEGUID_VERSIONGUID>

Beispiel: cmd.exe /appvve:aaaaaaaa-bbbb-cccc-dddd-eeeeeeee_11111111-2222-3333-4444-55555555

Führen Sie das Cmdlet Get-AppvClientPackage aus, um die Paket-GUID und die Versions-GUID Ihrer Anwendung abzurufen. Verketten Sie den Schalter /appvve mit Folgendem:

  • Ein Doppelpunkt

  • Paket-GUID des gewünschten Pakets

  • Ein Unterstrich

  • Versions-ID des gewünschten Pakets

Wenn Sie den genauen Namen Ihres Pakets nicht kennen, verwenden Sie die Befehlszeile Get-AppvClientPackage YourExecutable, wobei YourExecutable der Name der Anwendung ist. Geben Sie beispielsweise ein Get-AppvClientPackage Word.

Mit dieser Methode können Sie jeden Befehl im Kontext eines App-V-Pakets starten, unabhängig davon, ob das Paket gerade ausgeführt wird.

Technische Referenz für App-V