.NET
nuget
RPA
UiPath

UiPathのカスタムアクティビティの配布について(Orchestrator接続なし版)

前回までに作成したカスタムアクティビティですが UiPath Studioから使用するぶんには UiPath StudioもしくはVisual Studioの「NuGet パッケージマネージャ」の設定で、nupkgが配置される場所を指定すればOKでした。
image.png
上記のようにインストールすることで、Studio上で使うことが出来ました。
つづいて、UiPath Studioなどが存在しない単体のロボットだけの環境の場合はどうすればよいかを整理します。

対象のシナリオ

こんな感じに作成された、カスタムアクティビティを使用しているシナリオを考えます。
image.png

Robotからカスタムアクティビティを使う(Orchestrator未接続ケース)

まずは、Orchestratorに接続していないケースを考えます。

さきほどのシナリオをStudioからPublishすると%programData%\UiPath\Packages\にCustomActivityTest.1.0.6857.26481.nupkg が配置されました。

image.png

タスクトレイのロボから実行してみると、、、、、。
image.png

エラーになってしまいました、、。
image.png

カスタムアクティビティが見つからない、みたいな感じのエラーが出ていますね。

カスタムアクティビティの配置場所

さて単体のロボットですが、カスタムアクティビティのフィードは、デフォルトでは%programData%\UiPath\Packages\配下になっているようです。実際、該当箇所に ActivitiesPathUtils.0.0.15.nupkg を配置して実行してみると、
image.png

image.png
カスタムアクティビティが動いたようです。

ちなみに一度カスタムアクティビティが実行されると、下記の通り C:\Users\ユーザ名\.nuget\packagesに nupkg が解凍されるようなので、
image.png
状況の切り分けをするには、毎回ココを削除する必要がありそうです。

カスタムアクティビティの配置場所を明示的に指定する

さて、カスタムアクティビティのフィード場所ですが、明示的に指定することも出来るようです。Robotの設定する際によくでてくる、%programData%\UiPath\UiPath.settings

UiPath.settings
{
  "NuGetApiKey": "",
  "NuGetServerUrl": "%ProgramData%\\UiPath\\Packages",
  "ActivitiesFeed": "c:\\temp\\feed",     ←コレ
  "UiPathServerUrl": "",
  "TracingLevel": "Information",
  "LowLevelTracing": false,
  "SecureLicenseKey": "",
  "LoginToConsole": true,
  "ResolutionWidth": 0,
  "ResolutionHeight": 0,
  "ResolutionDepth": 0,
  "FontSmoothing": false,
  "ConnectionString": ""
}

こんな風に書くことで、明示的にnupkgを配置する場所を指定することも可能です。

あ、このファイルは管理者権限がないと編集できないことと、編集したらUiPath Robotサービスを再起動することを忘れないようにしましょう。。

Studioが取り込んだnupkgの配置場所

ちなみにStudioで取り込んだ nupkg は アクティビティパッケージの管理 の説明を見ると%localappdata%\UiPath\Activitiesに解凍されるようですね。

まとめ

Studio が取り込んだnupkgは、Robo(Attended/UnAttended Robo) とは別管理になってることが分かりました。そして、カスタムアクティビティを参照しているシナリオを Publishしてもそのnupkgにはカスタムアクティビティのnupkgは含まれていないので、別途でファイルを配置しないといけないってこともわかりましたね。

次回はOrchestratorに接続しているロボットは、カスタムアクティビティの配布も自動化されるところを整理していこうと思います。

おつかれさまでした。

ソースコード

前回と同じソースですが
https://github.com/masatomix/UiPath_Path/tree/0.0.3
に配置しました。

関連リンク

記事目次