次の方法で共有


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

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

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

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

次の情報は、既存の仮想アプリケーション パッケージを変換するための方向を示しています。

重要

パッケージ の成分ファイルを安全な場所とディレクトリに常に保存するようにパッケージ コンバーターを構成する必要があります。 セキュリティで保護された場所には、管理者のみがアクセスできます。 さらに、パッケージをデプロイするときは、パッケージを安全な場所に保存するか、変換プロセス中に他のユーザーのログインが許可されていないことを確認する必要があります。

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

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

App-V 5.1 より前のバージョンでは、4.6 ルート フォルダー m が認識され、App-V 5.0 パッケージからアクセスできませんでした。 これで、App-V 5.1 パッケージは、ハードコーディングされたファイルにフル パスでアクセスすることも、App-V 4.6 インストール ルートの下にあるファイルをプログラムで列挙することもできます。

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

開始するには

  1. 環境内のコンピューターに App-V Sequencer をインストールします。 Sequencer をインストールする方法の詳細については、「Sequencer をインストールする方法」を参照してください。

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

    • Test-AppvLegacyPackage – このコマンドレットは、パッケージを確認するように設計されています。 パッケージのエラーに関する情報 ( 不足している .sft ファイル、無効なソース、 .osd ファイル エラー、無効なパッケージ バージョンなど) が返されます。 このコマンドレットは 、.sft ファイルを解析したり、詳細な検証を行ったりしません。 このコマンドレットのオプションと基本的な機能の詳細については、「 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 を使用すると、パッケージを変換し、パッケージを既定で完全にダウンロードするように設定できます。

      出力ディレクトリを指定する前に、出力ディレクトリを作成する必要があります。

高度な変換のヒント

  • パイプ - 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 TechNet フォーラムを使用します。

APP-V 5.1 の操作