以前のバージョンの App-V で作成されたパッケージを変換する方法
適用対象:
- Windows 10
- Windows 11
パッケージ コンバーター ユーティリティを使用して、以前のバージョンの App-V によって作成された仮想アプリケーション パッケージをアップグレードできます。 このセクションでは、既存の仮想アプリケーション パッケージをアップグレード用に変換する方法について説明します。
注
64 ビット アーキテクチャのコンピューターを実行している場合は、x86 バージョンのWindows PowerShellを使用する必要があります。
パッケージ コンバーターは、App-V シーケンサー バージョン 4.5 以降によって作成されたパッケージのみを直接変換できます。 4.5 より前の App-V バージョンで作成されたパッケージは、変換前に少なくとも App-V 4.5 にアップグレードする必要があります。
重要
ファイルを安全に保つためには、パッケージ の成分ファイルを管理者のみがアクセスできる安全な場所とディレクトリに常に保存するようにパッケージ コンバーターを構成する必要があります。 パッケージをデプロイするときは、パッケージを安全な場所に保存するか、変換プロセス中に他のユーザーがサインインできないようにする必要があります。
App-V 4.6 インストール フォルダーが仮想ファイル システムのルートにリダイレクトされる
パッケージを App-V 4.6 から App-V for Windows 10/11 に変換すると、4.6 パッケージの作成時に使用する必要があったハードコードされたドライブに、Windows 用 App-V クライアント パッケージがアクセスできます。 ドライブ文字は、4.6 シーケンシング マシンのインストール ドライブとして選択したドライブです。 (既定のドライブはドライブ Q です)。
App-V パッケージ コンバーターは、App-V 4.6 インストール ルート フォルダーと短いフォルダー名を Filesystem 要素の FilesystemMetadata.xml ファイルに保存します。 App-V for Windows クライアントは、仮想プロセスを作成すると、App-V 4.6 インストール ルートからの要求を仮想ファイル システム ルートにマップします。
開始するには
環境内のコンピューターに App-V Sequencer をインストールします。 Sequencer のインストール方法については、「Sequencer をインストールする方法」を参照してください。
パッケージをチェックまたは変換するには、次のコマンドレットを入力します。
Test-AppvLegacyPackage — このコマンドレットはパッケージをチェックします。 パッケージのエラー ( 不足している .sft ファイル、無効なソース、 .osd ファイル エラー、無効なパッケージ バージョンなど) に関する情報が返されます。 このコマンドレットは 、.sft ファイルを解析したり、詳細な検証を行ったりしません。 このコマンドレットのオプションと基本的な機能については、Windows PowerShellを使用して、次のコマンドレットを入力します。
Test-AppvLegacyPackage -?
ConvertFrom-AppvLegacyPackage - このコマンドレットは、パッケージを従来のバージョンから更新されたバージョンに変換します。 既存のパッケージを変換するには、次のコマンドレットを入力します。
ConvertFrom-AppvLegacyPackage C:\contentStore C:\convertedPackages
このコマンドレットでは、既存のパッケージの場所を表し、
C:\contentStore
C:\convertedPackages
結果として得られる Windows クライアント仮想アプリケーション パッケージ ファイルの App-V を保存する出力ディレクトリです。 既定では、新しい名前を指定しない場合は、古いパッケージ名が使用されます。さらに、パッケージ コンバーターは、App-V パッケージのエラーをストリーミングするようにパッケージを設定することで、App-V for Windows クライアントのパッケージのパフォーマンスを最適化します。 この設定の定義は、プライマリ機能ブロックよりもパフォーマンスが高く、パッケージを完全にダウンロードします。 フラグ DownloadFullPackageOnFirstLaunch を使用すると、パッケージを変換し、パッケージを既定で完全にダウンロードするように設定できます。
注
出力ディレクトリを指定する前に、出力ディレクトリを作成する必要があります。
高度な変換のヒント
配管 — Windows PowerShellは配管をサポートします。 パイプを使用すると、次の例のようなコマンドレットを入力できます。
dir C:\contentStore\myPackage | Test-AppvLegacyPackage
この例では、を表す
myPackage
ディレクトリ オブジェクトが Test-AppvLegacyPackage コマンドレットへの入力として指定され、 -Source パラメーターにバインドされます。 このようなパイプ処理は、次のコマンドレットの例のように、コマンドをまとめてバッチ処理する場合に特に便利です。dir .\ | Test-AppvLegacyPackage | ConvertFrom-AppvLegacyAppvPackage -Target .\ConvertedPackages
このパイプコマンドの例では、パッケージをテストし、変換のために オブジェクトを渡します。 また、エラーのないパッケージにフィルターを適用したり、 .sprj ファイルを含むディレクトリのみを指定したり、フィルター処理されたパッケージをサーバーに追加したり、App-V クライアントに発行したりする別のコマンドレットにパイプすることもできます。
バッチ処理 - Windows PowerShell コマンドを使用すると、バッチ処理が有効になります。 具体的には、コマンドレットでは、ディレクトリ パスの一覧を表す -Source パラメーターの string[] オブジェクトの取得がサポートされています。 この機能を使用すると、次のコマンドレットを一緒に入力できます。
$packages = dir C:\contentStore ConvertFrom-AppvLegacyAppvPackage-Source $packages -Target C:\ConvertedPackages
または、次のような配管を使用することもできます。
dir C:\ContentStore | ConvertFrom-AppvLegacyAppvPackage -Target C:\ConvertedPackages
その他の機能 — Windows PowerShellには、エイリアス、遅延バインディング、.NET オブジェクトなどの機能の他の組み込み機能があります。 これらの機能は、パッケージ コンバーターの高度なシナリオを作成するのに役立ちます。