移動プロファイル環境でのプロセス実行時エラーの回避方法

team-work-robot-people

概要 

移動プロファイル環境でロボットを使用する上での設定・注意事項について説明します。以下3条件に該当した場合、プロセス実行時に An error appeared while executing というエラーが発生します。

  • ログインに使用するWindowsユーザのプロファイルの種類が 移動 である。

  • 移動プロファイルを使用した同一 Windows ユーザが異なる端末へログインし、2回目以降 プロセス実行を行っている。

  • UiPath Robotのバージョンが 2018.2以降 である。

エラーダイアログの詳細は次の通りです:

An error appeared while executing <プロセス名> Error messge: ファイル ’%USERPROFILE%\.nuget\Packages\<プロセス名>\<バージョン>\lib\net45\Main.xaml’が見つかりませんでした

UiPath Robot Tray

原因

初回Windowsログインでのプロセス実行時には %USERPROFILE%\.nuget\Packages 配下にXAMLファイルが展開されますが、セキュリティ強化の仕様上、ユーザ権限ではXAMLファイルのコピーが行えません。

このためWindowsログアウト時にローカルからファイルサーバへの移動プロファイル同期の際にXAMLファイルのみコピーに失敗します。

この状態で別端末へWindowsログインした場合、XAMLファイルが欠落した状態でファイルサーバからローカルへの移動プロファイルの同期が行われるため、2回目以降 UiPath Robotからプロセスを起動する際にXAMLファイルが見つからずエラーが発生します。

再現方法

  • 移動プロファイルを使用しているWindowsユーザでプロセス実行端末へログインします。

  • タスクトレイ上のUiPath Robotから、Updateボタンを押下し、プロセスの更新を行います。

(例)プロセス更新前

UiPath Robot

(例)プロセス更新後

UiPath Robot
  • 上記端末からログアウトします。

  • 別のプロセス実行端末に同一ユーザでログインし、タスクトレイのUiPath Robotからプロセスを実行します。

(例)プロセスの実行

UiPath Robot

回避方法

下記の1または2いずれかの手順を実行した上でプロセス更新を行うことにより、プロセス実行が正常に行われます。

1.グループポリシー設定

1-1:ADサーバー上で グループポリシーの管理 を起動します。

1-2:Windowsログインに利用するユーザアカウント対して、 %USERPROFILE%\.nuget を同期フォルダから除外を 行うグループポリシー設定を行います。

1-3:[ユーザーの構成] - [ポリシー] - [管理用テンプレート] - [システム] - [ユーザープロファイル] - [特定のディレクトリを移動プロファイルから除外する]を選択します。

1-4:「特定のディレクトリを移動プロファイルから除外する」ポリシーに .nuget を設定し、有効化します。

(例)除外ポリシー設定表示

UiPath Robot

1-5:グループポリシーオブジェクトを移動プロファイルを使用しているユーザーに適用します。

2.XAMLセキュリティ無効化

2-1: UiPath Studio v2019.4以降をお使いの場合には、次の手順により、XAMLファイルのセキュリティ機能を無効化することができます。この手順を実施しますと、NuGetパッケージから解凍されたXAMLファイルをユーザー権限で閲覧、編集することが可能になるため、セキュリティレベルが低下することに留意してください。

2-2: Studioインストール時に次のコマンドラインオプションを使用して実行します。(参照: https://docs.uipath.com/studio/lang-ja/docs/msi-command-line-parameters)

msiexec /i UiPathStudio.msi DISABLE_SECURE_XAML=1

2-3:設定ファイル  C:\Program Files (x86)\UiPath\Studio\uipath.config に次の設定が追加されていることを確認します。

<configuration> <packageSettings> <add key="disableSecureXaml" value="true" /> </packageSettings> </configuration>

3-1:各端末にログインした際にタスクトレイのUiPath Robotからプロセスの更新を行います。

3-2:端末+ユーザ単位で %USERPROFILE%\.nuget\Packages フォルダ内にキャッシュされるため、プロセス更新は初回のみ行います。

3-3:プロセスのバージョンアップ時には、適宜プロセス更新を実施して下さい。