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

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

グローバルにのみ発行

サブキーを作成する手順

  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しますが、次のすべてが true である必要があります。

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

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

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

      たとえば、パッケージをユーザーに発行した場合は、 の下 HKEY_CURRENT_USER\SOFTWARE\Microsoft\AppV\Client\RunVirtualにサブキーを作成する必要があります。

  2. 新しいレジストリ サブキーの値をパッケージの 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 パッケージのコンテキスト内で任意のコマンドを起動できます。

App-V 5.1 テクニカル リファレンス