仮想化されたアプリケーションを使用して仮想環境内でローカルにインストールされたアプリケーションを実行する
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.1 |
グローバルまたはユーザーに発行済み |
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しますが、次のすべてが true である必要があります。
仮想環境に複数のパッケージを含める場合は、有効な接続グループにパッケージを含める必要があります。
接続グループ内のパッケージの 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 PowerShell コマンドレット
Start-AppVVirtualProcess コマンドレットを使用してパッケージ名を取得し、指定したパッケージの仮想環境内でプロセスを開始できます。 このメソッドを使用すると、パッケージが現在実行されているかどうかに関係なく、App-V パッケージのコンテキスト内で任意のコマンドを起動できます。
次の構文例を使用し、パッケージの名前を Package> に<置き換えます。
$AppVName = Get-AppvClientPackage <Package>
Start-AppvVirtualProcess -AppvClientObject $AppVName cmd.exe
パッケージの正確な名前がわからない場合は、コマンド ライン Get-AppvClientPackage *executable\を使用できます。ここで、*executable はアプリケーションの名前です (例: 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 *executable\を使用します。ここで、*executable はアプリケーションの名前です (例: Get-AppvClientPackage *Word*)。
このメソッドを使用すると、パッケージが現在実行されているかどうかに関係なく、App-V パッケージのコンテキスト内で任意のコマンドを起動できます。