App-VでUiPathを仮想化した環境でエラーや期待しない動作が発生する

Question/Problem

Microsoft Application Virtualization (App-V) を用いてUiPathを仮想化しています。

この環境でAssistantからジョブの実行を開始するとエラーが発生します。
また、Studioからのパブリッシュ時にパッケージが指定したフォルダ(C:\ProgramData\UiPath\Packages)に出力されません。

Assistantからジョブを実行した際のエラー:

Error

Could not find a part of the path ‘C:\Users\XXXXX.nuget\packages.…’

Root Cause

App-Vの仮想化機能によって C:\Users\XXXXX.nuget\packages.… のようなパスが C:\Users\XXXXX\AppData\Local\Microsoft\AppV\Client\VFS\XXXX\Profile.… のようなパスに書き換えられるためにこのようなエラーが発生します。

Resolution

解決策A

App-V Sequencerの除外設定として「[{Profile}].nuget」「[{Common AppData}]\UiPath」などのパスをVFSのマッピングとして追加することで、事象が解消しないかご確認ください。

このとき、次のようにApp-Vの定める記法を使用しなければいけないことに注意してください。

パス                App-Vでの記法
C:\Users\XXXXX     [{Profile}]
C:\ProgramData     [{Common AppData}]

解決策B

App-V パッケージファイルを App-V Sequencerで編集し、対象のフォルダを「Merge with Local Directory」に設定することをお試しください。

「Override Local Directory」はApp-Vによる仮想化パスを使用し、「Merge with Local Directory」は使用せず実際のパスへのアクセスを行う設定となります。

次の画像は C:\ProgramData\UiPath を「Merge with Local Directory」に設定する例です。