仮想化環境内にローカルにインストールされたアプリケーションと仮想化アプリケーションとの連携した実行
ローカルにインストールされたアプリケーションは、Microsoft Application Virtualization (App-V) を使用して仮想化されたアプリケーションと共に仮想環境で実行できます。 次の場合は、これを行う必要があります。
クライアント コンピューターにアプリケーションをローカルにインストールして実行する必要がありますが、そのローカル アプリケーションで動作する特定のプラグインを仮想化して実行する必要があります。
App-V クライアント パッケージのトラブルシューティングを行っており、App-V 仮想環境内でローカル アプリケーションを開く必要があります。
App-V 仮想環境内でローカル アプリケーションを開くには、次のいずれかの方法を使用します。
各メソッドは本質的に同じタスクを実行しますが、仮想化されたアプリケーションが既に実行されているかどうかに応じて、一部のアプリケーションよりも一部のアプリケーションに適している方法があります。
RunVirtual レジストリ キー
ローカルにインストールされたアプリケーションをパッケージまたは接続グループの仮想環境に追加するには、次のセクションで説明するように、レジストリ エディターのレジストリ キーに RunVirtual
サブキーを追加します。
このレジストリ キーを管理するためのグループ ポリシー設定がないため、System Center Configuration Managerまたは別の電子ソフトウェア配布 (ESD) システムを使用するか、レジストリを手動で編集する必要があります。
RunVirtual を使用する場合にパッケージを発行する際にサポートされるメソッド
App-V バージョン | サポートされている発行方法 |
---|---|
App-V 5.0 SP3 |
グローバルまたはユーザーに発行される |
App-V 5.0 から App-V 5.0 SP2 |
グローバルにのみ発行済み |
サブキーを作成する手順
次の表の情報を使用して、実行可能ファイルの名前 (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 つだけに対してサブキーを作成しますが、接続グループ内のすべてのパッケージとローカル アプリケーションが仮想環境で使用できるようになります。
サブキーを作成するキーは、パッケージに使用した発行方法と一致している必要があります。
たとえば、パッケージをユーザーに発行した場合は、
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 PowerShell コマンドレット
Start-AppVVirtualProcess コマンドレットを使用してパッケージ名を取得し、指定したパッケージの仮想環境内でプロセスを開始できます。 このメソッドを使用すると、パッケージが現在実行されているかどうかに関係なく、App-V パッケージのコンテキスト内で任意のコマンドを起動できます。
次の構文例を使用し、パッケージの名前を Package> に<置き換えています。
$AppVName = Get-AppvClientPackage <Package>
Start-AppvVirtualProcess -AppvClientObject $AppVName cmd.exe
パッケージの正確な名前がわからない場合は、コマンド ライン Get-AppvClientPackage *executable\を使用できます。*実行可能ファイルはアプリケーションの名前です (例: *Word* Get-AppvClientPackage)。
コマンド ライン スイッチ /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 *executable\を使用します。*実行可能ファイルはアプリケーションの名前です(例: Get-AppvClientPackage *Word*)。
このメソッドを使用すると、パッケージが現在実行されているかどうかに関係なく、App-V パッケージのコンテキスト内で任意のコマンドを起動できます。