次の方法で共有


以前の App-V バージョンで作成されたパッケージを変換する方法

適用対象: Application Virtualization 5.1

以前のバージョンの App-V で作成された仮想アプリケーション パッケージは、パッケージ コンバーター ユーティリティを使用してアップグレードできます。

注意

64 ビット アーキテクチャのコンピューターを実行している場合は、x86 バージョンの PowerShell を使用する必要があります。

パッケージ コンバーターで直接変換できるパッケージは、App-V 4.5 Sequencer またはそれ以降のバージョンを使用して作成されたパッケージのみです。App-V 4.5 より前のバージョンを使用して作成されたパッケージは、最初に App-V 4.5 または App-V 4.6 形式にアップグレードしてから変換する必要があります。

以下の情報は、既存の仮想アプリケーション パッケージを変換するための手順です。

重要

パッケージ コンバーターは、パッケージ要素ファイルが常に安全な場所およびディレクトリに保存されるように設定してください。安全な場所には、管理者だけがアクセスできます。また、パッケージを展開するときは、パッケージを安全な場所に保存し、変換処理中に他のユーザーがログインできないことをご確認ください。

App-V 4.6 のインストール フォルダーは仮想ファイル システムのルートにリダイレクトされます。

パッケージを App-V 4.6 から App-V 5.1 に変換すると、App-V 5.1 パッケージは、App-V 4.6 を作成する際に必要であったハードコーディングされたドライブにアクセスできるようになります。ドライブ文字は、4.6 シーケンス マシン上でインストール ドライブとして選択したドライブになります (既定のドライブ文字は Q:\ です)。

App-V 5.1 以前は、4.6 のルート フォルダーは認識されず、App-V 5.0 パッケージからアクセスできませんでした。現在、App-V 5.1 のパッケージは、完全なパスでハードコードされたファイルにアクセスできます。また、App-V 4.6 のインストール ルートの下にあるファイルをプログラムを使用して列挙することもできます。

**技術的な詳細:**App-V 5.1 のパッケージ コンバーターでは、App-V 4.6 のインストール ルート フォルダーと短いフォルダー名をファイルシステム要素の FilesystemMetadata.xml ファイルに保存します。App-V 5.1 クライアントが仮想プロセスを作成する場合、App-V 4.6 のインストール ルートから仮想ファイル システム ルートに要求をマップします。

作業の開始

  1. ご使用の環境にあるコンピューターに App-V Sequencer をインストールします。Sequencer のインストール方法については、「シーケンサーをインストールする方法」をご覧ください。

  2. 以下のコマンドレットを使用できます。

    - Test-AppvLegacyPackage – パッケージを確認するためのコマンドレットです。パッケージのエラーに関する情報を返します。たとえば、**.sft** ファイルが見つからない、ソースが正しくない、**.osd** ファイルのエラー、パッケージ バージョンが正しくないなどのエラーです。このコマンドレットは、**.sft** ファイルの解析や詳細な検証を行いません。このコマンドレットのオプションと基本的な機能については、PowerShell コマンドラインで「`Test-AppvLegacyPackage -?`」と入力してください。  
    
    
    - ConvertFrom-AppvLegacyPackage – 既存のパッケージを変換するには、「`ConvertFrom-AppvLegacyPackage c:\contentStore c:\convertedPackages`」と入力します。このコマンドの `c:\contentStore` は既存パッケージの場所を表し、`c:\convertedPackages` は実行結果の App-V 5.1 仮想アプリケーション パッケージ ファイルを保存する出力ディレクトリです。既定では、App-V 5.1 ファイルの新しい名前を指定しない場合、古いパッケージ名が使用されます。  
    
    
    
      パッケージ コンバーターは、App-V パッケージのストリーム エラーが発生するようにパッケージを設定することで、App-V 5.1 のパッケージのパフォーマンスを最適化します。これはプライマリ機能ブロックよりも効率的で、パッケージを完全にダウンロードします。**DownloadFullPackageOnFirstLaunch** フラグを使用すると、パッケージを変換し、パッケージが既定で完全にダウンロードされるように設定できます。  
    
    
    
    
    
      > [!NOTE]
      > 出力ディレクトリを指定するには、事前に出力ディレクトリを作成しておく必要があります。 
      > <P></P>
    

    高度な変換のヒント

    - パイプ - PowerShell はパイプをサポートします。パイプを使用して、`dir c:\contentStore\myPackage | Test-AppvLegacyPackage` を呼び出せます。この例では、`myPackage` を表すディレクトリ オブジェクトを `Test-AppvLegacyPackage` コマンドの入力として指定し、`-Source` パラメーターにバインドします。このようなパイプは、複数のコマンドをバッチ処理する場合に特に役立ちます。たとえば、`dir .\ | Test-AppvLegacyPackage | ConvertFrom-AppvLegacyAppvPackage -Target .\ConvertedPackages` などです。このパイプされたコマンドは、パッケージをテストし、テストされたオブジェクトを実際の変換処理に渡します。エラーのないパッケージのみ渡すようにフィルターを適用したり、**.sprj** ファイルが含まれるディレクトリだけを指定することもできます。または、パッケージを別のコマンドレットにパイプして、フィルターされたパッケージをサーバーに追加したり、App-V 5.1 クライアントに公開することもできます。  
    
    - バッチ処理 - PowerShell コマンドでバッチ処理を使用できます。具体的には、コマンドレットで、ディレクトリ パスの一覧を表す `-Source` パラメーターの string\[\] オブジェクトを指定できます。これにより、`$packages = dir c:\contentStore` を入力し、`ConvertFrom-AppvLegacyAppvPackage-Source $packages -Target c:\ConvertedPackages` を呼び出したり、パイプを使用して `dir c:\ContentStore | ConvertFrom-AppvLegacyAppvPackage -Target C:\ConvertedPackages` を呼び出すこともできます。  
    
    - その他の機能 - PowerShell にはその他の組み込み機能があります。エイリアス、パイプ、遅延バインド、.NET オブジェクトなどの多数の機能に対応しています。これらはすべて PowerShell で使用でき、パッケージ コンバーターの高度なシナリオの作成に役立ちます。  
    

    APP-V への提案がございますかこちらから提案を追加するか、提案に投票してください。
    App-V に関する問題がありますか。APP-V に関する TechNet フォーラム」を利用してください。

関連項目

その他の参照情報

App-V 5.1 の操作

-----
MDOP の詳細については、TechNet ライブラリを参照してください。TechNet Wiki では、トラブルシューティング情報を検索できます。また、Microsoft の FacebookTwitter をフォローすることをお勧めします。
-----