仮想化されたアプリケーションを使用して仮想環境内でローカルにインストールされたアプリケーションを実行する

適用対象: Windows 7 SP1、Windows 10、Windows 11、Windows Server 2012 R2、Windows Server 2016

Microsoft Application Virtualization (App-V) を使用して仮想化されたアプリケーションと共に、仮想環境でローカルにインストールされたアプリケーションを実行できます。 次の場合は、このタスクを実行できます。

  • クライアント コンピューターにアプリケーションをローカルにインストールして実行するが、そのローカル アプリケーションで動作する特定のプラグインを仮想化して実行したい。

  • App-V クライアント パッケージのトラブルシューティングを行っており、App-V 仮想環境内でローカル アプリケーションを開く必要があります。

各メソッドは基本的に同じタスクを実行しますが、仮想化されたアプリケーションが既に実行されているかどうかに応じて、一部のアプリケーションよりも一部のメソッドが適している場合があります。

RunVirtual レジストリ キー

ローカルにインストールされたアプリケーションをパッケージまたは接続グループの仮想環境に追加するには、次のセクションで説明するように、レジストリ エディターの RunVirtual レジストリ キーにサブキーを追加します。

このレジストリ キーを管理するために使用できるグループ ポリシー設定はありません。 そのため、Microsoft Intune または Configuration Manager、別の電子ソフトウェア配布 (ESD) システムを使用するか、レジストリを手動で編集する必要があります。

App-V 5.0 SP3 以降では、RunVirtual を使用する場合は、パッケージをグローバルまたはユーザーに発行できます。

サブキーを作成する手順

  1. 次の表の情報を使用して、実行可能ファイルの名前 (例:MyApp.exe) を使用して新しいレジストリ キー 作成します。
  • グローバルに発行:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\RunVirtual レジストリ キーを作成します。

たとえば、 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\RunVirtual\MyApp.exeを作成します。

  • ユーザーに発行:HKEY_CURRENT_USER\SOFTWARE\Microsoft\AppV\Client\RunVirtual レジストリ キーを作成します。

たとえば、 HKEY_CURRENT_USER \SOFTWARE\Microsoft\AppV\Client\RunVirtual\MyApp.exeを作成します。

  • 接続グループには、次のことができます。
  • グローバルに発行されたパッケージ、またはユーザーのみに発行されるパッケージ
  • グローバルおよびユーザーに発行されるパッケージ

HKEY_LOCAL_MACHINE または HKEY_CURRENT_USER キーを使用します。 ただし、次のすべての条件を満たす必要があります。

  • 仮想環境に複数のパッケージを含める場合は、有効な接続グループにパッケージを含める必要があります。

  • 接続グループ内のパッケージの 1 つに対して作成するサブキーは 1 つだけです。 たとえば、グローバルに発行される 1 つのパッケージと、ユーザーに発行される別のパッケージがあるとします。 これらのパッケージのサブキーは作成しますが、両方のサブキーは作成しません。 1 つのパッケージに対してのみサブキーを作成しますが、接続グループ内のすべてのパッケージとローカル アプリケーションは、仮想環境で使用できます。

  • サブキーを作成するキーは、パッケージに使用した発行方法と一致する必要があります。

    たとえば、パッケージをユーザーに発行した場合は、 HKEY_CURRENT_USER\SOFTWARE\Microsoft\AppV\Client\RunVirtualの下にサブキーを作成する必要があります。 両方のハイブの下に同じアプリケーションのキーを追加しないでください。

  1. 新しいレジストリ サブキーの値をパッケージの PackageId と VersionId に設定し、値をアンダースコアで区切ります。

構文: <PackageId>_<VersionId>

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

前の例のアプリケーションでは、次の例のようにレジストリ エクスポート ファイル (.reg ファイル) が生成されます。

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 コマンドレット

Start-AppVVirtualProcess コマンドレットを使用してパッケージ名を取得し、指定したパッケージの仮想環境内でプロセスを開始できます。 このメソッドを使用すると、パッケージが現在実行されているかどうかに関係なく、App-V パッケージのコンテキスト内で任意のコマンドを起動できます。

次の構文例を使用し、パッケージの名前を <Package>に置き換えます。

$AppVName = Get-AppvClientPackage <Package>

Start-AppvVirtualProcess -AppvClientObject $AppVName cmd.exe

パッケージの正確な名前がわからない場合は、コマンド ライン Get-AppvClientPackage YourExecutableを使用できます。ここで、 YourExecutable はアプリケーションの名前です。 たとえば、Get-AppvClientPackage Word と入力します。

コマンド ライン スイッチ /appvpid:<PID>

/appvpid:<PID>スイッチを任意のコマンドに適用できます。これにより、そのコマンドは、そのプロセス ID (PID) を指定して選択した仮想プロセス内で実行できます。 このメソッドを使用すると、既に実行されている実行可能ファイルと同じ App-V 環境で新しい実行可能ファイルが起動されます。

例: cmd.exe /appvpid:8108

App-V プロセスのプロセス ID (PID) を見つけるには、管理者特権のコマンド プロンプトから コマンドtasklist.exe を実行します。

コマンド ライン フック スイッチ /appvve:<GUID>

このスイッチを使用すると、App-V パッケージの仮想環境内でローカル コマンドを実行できます。 仮想環境が既に実行されている必要がある /appvid スイッチとは異なり、このスイッチを使用すると、仮想環境を開始できます。

構文: cmd.exe /appvve:<PACKAGEGUID_VERSIONGUID>

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

アプリケーションのパッケージ GUID とバージョン GUID を取得するには、 Get-AppvClientPackage コマンドレットを実行します。 /appvve スイッチを次のように連結します。

  • コロン

  • 目的のパッケージのパッケージ GUID

  • アンダー スコア

  • 目的のパッケージのバージョン ID

パッケージの正確な名前がわからない場合は、コマンド ライン Get-AppvClientPackage YourExecutableを使用します。ここで、 YourExecutable はアプリケーションの名前です。 たとえば、Get-AppvClientPackage Word と入力します。

このメソッドを使用すると、パッケージが現在実行されているかどうかに関係なく、App-V パッケージのコンテキスト内で任意のコマンドを起動できます。