仮想化されたアプリケーションを使用して仮想環境内でローカルにインストールされたアプリケーションを実行する
適用対象: 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 を使用する場合は、パッケージをグローバルまたはユーザーに発行できます。
サブキーを作成する手順
- 次の表の情報を使用して、実行可能ファイルの名前 (例: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
の下にサブキーを作成する必要があります。 両方のハイブの下に同じアプリケーションのキーを追加しないでください。
- 新しいレジストリ サブキーの値をパッケージの 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 パッケージのコンテキスト内で任意のコマンドを起動できます。