3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

UiPath Activity Migrator(Public Preview版)について

Posted at

1.UiPath Activity Migratorとは?

UiPathの自動化プロジェクトに関して、プロジェクトCompatibility(Windowsレガシー、Windows等)の変換や、いくつかのアクティビティの変換が可能なコマンドラインツールです。
2025/12/21現在のステータスはPublic Previewです

現時点でできることは以下3点になります。

  1. Windowsレガシープロジェクト→Windowsプロジェクト変換
  2. UiAutomation クラシックアクティビティ→モダンアクティビティ変換(UiPath.UIAutomation.Activities >= 25.10.20になります)
  3. Desktop Outlook関連アクティビティ → MicrosoftOffice365 Integration Service関連アクティビティ(UiPath.MicrosoftOffice365.Activities >= 3.3.10になります)

1については以前からStudioでも実装されている機能です。従来UiPath Studioに実装されているWindowsレガシープロジェクト→Windowsプロジェクト変換と比較して、コマンドラインでの処理が可能ですので、一括での変換などが実現可能になります。こちらの必要な理由は以前からアナウンスのある通り、Windowsレガシープロジェクトは将来的にStudio/Robotで対応廃止となるため、それに備えるためのものになります。

2については、新しい機能になります。今のところUiAutomationクラシックアクティビティのサポート廃止の予定は出ておりませんが、逆にこのようなマイグレーションツールの登場により仮に将来的に廃止となりますと少し困ってしまいますね。(そうならないように願っています)

3については、Microsoftの「新しいOutlook」はCOM APIが廃止され、このAPIを使用しているアクティビティ:例えばGetOutlookMailMesage等が動作しなくなるための、これの代替アプローチの一つとして用意されたもののようです。

2.使用準備

Automation Cloud上のリソースセンター-Featured DownloadのActiviy Migrator Toolのセクションからダウンロードするか、Toolの下から入手します。(こちらは表現がわかりにくいですが)
image.png

zipを解凍して、任意のフォルダに配置します。

配置後にまずは以下を実行してみます。

UiPath.Upgrade.exe --help

実行にはMicrosoft.WindowsDesktop.App 8.0 runtime が必要です。不足していれば以下画像のようにその旨のメッセージが出ますので、指定のURLからこれをインストールします。

image.png

環境に問題なければhelpの内容が表示されます。

image.png

3.基本的な使い方

コマンド
analyze :事前解析(単独プロジェクトに対して):SARIF形式のレポートが出力されます。
upgrade :変換実行(単独プロジェクトに対して):実際に変換したプロジェクトを出力します。SARIF形式のレポートもあわせて出力されます。
bulk :複数プロジェクトに対して事前解析か変換実行を行います。-cオプションでanalyzeかupgardeかを指定します。
version :バージョン表記

詳細なオプションや変換可能なアクティビティ等はUiPath Community Forumの以下トピックに記載がありますので参照ください。(GA時には公式ドキュメントに記載が追加されると思います)

入力プロジェクトがWindows Legacyプロジェクトの場合、出力は必ずWindowsプロジェクトに変換されます。(Windows Legacyプロジェクトを維持したまま、アクティビティ関連の変換はできない)
既にWindowsプロジェクトであるものに対して、UiAutomationクラシック→モダン変換のような用途は可能です。(--enabled-extensions等のextensions関連のオプションで制御する。)

4.実際に使ってみる

WindowsレガシープロジェクトからWindowsプロジェクトへの変換はStudioに実装されている変換機能と同じことが推測されますので、ここではUiAutomationのクラシック→モダン変換について見ていきたいと思います。

コマンド例としては以下でUiAutomation変換だけ行う(メールは変換しない)になります。

事前解析

UiPath.Upgrade.exe analyze -p c:\users\foo\Documents\UiPath\SomeWindowsProject --enabled-extensions UiAutomationActivities -v

変換実行

UiPath.Upgrade.exe upgrade -p c:\users\foo\Documents\UiPath\SomeWindowsProject --enabled-extensions UiAutomationActivities -o c:\users\foo\Documents\UiPath\NewWindowsProject -v

4-1. 簡単な変換例

簡単な変換例としてクラシックのOpenBrowserアクティビティを使用してサイトを開き、クラシックClickアクティビティで要素をクリックするだけのワークフローで試してみます。
ワークフローは以下になります。クリックアクティビティは部分セレクターで、OpenBrowserのコンテナ内なのでトップレベルのセレクターはOpenBrowserから引き継ぐ形態です。
image.png

変換後は以下になります。
OpenBrowserアクティビティの部分は、表示名こそOpen Browserのままですが、アクティビティとしてはモダンのNApplicationCardアクティビティに変換されています。またインスタンスモードは、クラシックのOpenBrowserやAttachBrowserと互換性のあるSingleWindowとなっています。ウインドウセレクターにChromeであることが記述されています。Open/Close動作もクラシックOpenBrowserの挙動を正しく踏襲しているようです。

image.png

クリックアクティビティの方もモダンのNClickアクティビティに変換され、セレクター、入力メソッドともに良好のようです。クリックアクティビティのウインドウセレクターは今回のケースでは不要に思えますが、NApplicationCard側をApplicationInstanceに変更した際には必要になるので、あるに越したことはないかもしれません。
image.png

実際に動作させてみましたが、問題なく動作しました。

4-2.もう少し複雑な例

 次にもう少し複雑な例として、クラシックのOpenBrowserで出力したUiPath.Core.Browserインスタンスを、別xamlのクラシックAttachBrowserの入力とし、その中でクリックする例です。

image.png

image.png

変換後は以下になります。表示名は変換前のものがそのまま引き継がれますが、アクティビティ自体はOpenBrowser, AttachBrowser双方ともNApplicationCardに変換されています。UiPath.Core.Browserインスタンスによる受け渡しもうまく変換できているようです。

image.png

image.png

4-3.変換がサポートされていないアクティビティの例

未サポートとしてリストされているAnchorBaseアクティビティの例です。
以下のワークフローを変換してみます。
image.png

事前解析の時点でWarningが表示され、AnchorBase内のアクティビティは変換されない旨レポートされました。実際に変換してもAnchorBaseはそのままで、その内部のアクティビティはクラシックのままでした。
image.png

ちなみに未サポートアクティビティとしてリストされているクラシックのDoubleClickアクティビティですが、こちらは(なぜか?)正常にNClickアクティビティに変換されました。このような事例もあるので、まずは対象プロジェクトを事前解析してみるのが良いようです。

image.png

5.まとめ

コマンドラインツールなので、大量に変換したいプロジェクトがある場合は便利と思います。今でもUiPath Studio付帯のWindowsレガシー→Windowsプロジェクト変換機能を使用すれば変換は可能ですが、必要工数の見積もり時等にプロジェクトを一つずつ立ち上げて変換することを考えると、一括で事前に解析レポートを出力できるのはかなり有用性が高いと考えられます。
またUiAutomationのクラシック→モダンアクティビティの変換については、基本的な変換はうまくできるようです。今のところこの変換を積極的に行う動機に乏しいような気もしますが、これが必要なシーンでは役に立つと思います。
現在Public Previewなので、GA時の仕様に注目したいと思います。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?