- 基本情報
- セットアップと構成
- オートメーション プロジェクト
- 依存関係
- ワークフローの種類
- 制御フロー
- ファイルの比較
- オートメーションのベスト プラクティス
- ソース管理との連携
- デバッグ
- ログ
- 診断ツール
- ワークフロー アナライザー
- ワークフロー アナライザーについて
- ST-DBP-002 - 多数の引数
- ST-DBP-003 - 空の catch ブロック
- ST-DBP-007 - 複数のフローチャートレイヤー
- ST-DPB-010 - [ワークフロー] または [テスト ケース] の複数のインスタンス
- ST-DBP-020 - 未定義の出力プロパティ
- ST-DBP-021 - ハードコードされたタイムアウト
- ST-DBP-023 - 空のワークフロー
- ST-DBP-024 - 永続性アクティビティの確認
- ST-DBP-025 - 変数のシリアル化の前提条件
- ST-DBP-027 - Persistence のベスト プラクティス
- ST-DBP-028 - 引数のシリアル化の前提条件
- ST-USG-005 - ハードコードされたアクティビティのプロパティ
- ST-USG-009 - 未使用の変数
- ST-USG-010 - 未使用の依存関係
- ST-USG-014 - パッケージの制限
- ST-USG-017 - パラメーターの修飾子が無効
- ST-USG-020 - 最小ログ メッセージ
- ST-USG-024 - 未使用で保存されたままの値
- ST-USG-025 - 保存した値の誤用
- ST-USG-026 - アクティビティの制限
- ST-USG-027 - 必要なパッケージ
- ST-USG-028 - ファイル テンプレートの呼び出しの制限
- ST-USG-027 - 必須のタグ
- ST-USG-034 - Automation Hub URL
- 変数
- 引数
- インポートされた名前空間
- コード化されたオートメーション
- トリガーベースの有人オートメーション
- オブジェクト リポジトリ
- ScreenScrapeJavaSupport ツール
- 拡張機能
- Studio でのテスト
- トラブルシューティング

Studio ガイド
About the Activity Migrator Tool
Purpose of the Activity Migrator
The Activity Migrator is an essential command-line interface (CLI) tool for organizations transitioning legacy automation projects to the modern UiPath platform, enabling access to the latest features and capabilities:
- Automate the migration process by simplifying and streamlining the transfer of process configuration and dependencies.
- Reduce manual effort and errors by ensuring consistency and accuracy during migration, instead of manually transferring dependencies and activities.
Supported migration scenarios
Project framework migration
Migrating a Windows - Legacy project to the Windows compatibility is highly recommended for several strategic, technical, and support-related reasons:
- Improved performance: Windows projects run faster and more efficiently due to better integration with .NET Core and modern Windows APIs.
- Better compatibility with external libraries: Windows projects support newer versions of libraries and dependencies, making it easier to integrate with external systems.
Access to modern UI Automation capabilities
Many new UI Automation features, such as Unified Target and Healing Agent, are only compatible with the modern UI Automation framework. Therefore, migrating from classic UI Automation activities to the modern experience is necessary.
Deprecated Outlook activities migration
Microsoft is sunsetting Classic Outlook and encouraging adoption of Microsoft 365. As a result, the Activity Migrator supports transitioning automation dependencies from UiPath.Mail.Activities (which rely on the Classic Outlook API) to UiPath.MicrosoftOffice365.Activities based on UiPath Integration Service.
Activity Migrator vs. the Studio Windows - Legacy converter
Use the Studio Windows - Legacy converter when:
- You only need to convert projects from Windows - Legacy to Windows one by one.
- No activity migrations are required.
Use the Activity Migrator when:
- You want to convert multiple Windows - Legacy projects to Windows (bulk conversion supported).
- Migration of UI Automation or Mail activities is needed.
- Any combination of the above scenarios applies.
Where to get the Activity Migrator
Follow the steps below to download the tool:
- Navigate to UiPath Automation Cloud.
- Select the Help button in the top-right corner.
- Under Resources, select Downloads.
- Under the Feature Download list, select Activity Migrator Tool.
- Select the download link.
After downloading the .zip file, make sure to install it in the <tool-install-dir> folder.
要件
- If the tool is used on a machine where Studio is not installed, install .NET Desktop Runtime 8.0.
- Open migrated projects with Studio versions 2024.10 or higher.
How to use the Activity Migrator
Command: <tool-install-dir>\UiPath.Upgrade.exe
Usage: UiPath.Upgrade.exe [command] [options]
Global options:
| オプション | 説明 |
|---|---|
-?-h、--help | ヘルプや使用状況に関する情報を表示します。 |
Available commands:
| コマンド | 説明 |
|---|---|
version | Show version information. |
analyze | Analyze a project for migration without making changes. |
upgrade | Migrate a project or parts of it. |
bulk | Analyze or migrate all projects in a folder. |
Analyze a project
This option simulates the migration and generates a report without performing the actual migration or modifying the project.
Command: <tool-install-dir>\UiPath.Upgrade.exe analyze
Usage: UiPath.Upgrade.exe analyze [options]
| オプション | 説明 |
|---|---|
-?, -h, --help | ヘルプや使用状況に関する情報を表示します。 |
-p, --project-path (必須) | Path to the project to analyze or upgrade. The folder provided as <project-path> should contain the project’s project.json file. |
-o, --output-path | Output path for the upgraded project (optional). If not specified, a new folder with the suffix _Upgraded is created. |
-v, --verbose | Enable verbose logging. |
-f, --output-format | Output format: console (default) or sarif. |
-e, --extension-directory | Directory to search for extensions. For advanced use only. |
--ignore-missing-dependencies | Ignore missing dependencies during upgrade. Missing dependencies appear as warnings. Affected workflows may report missing types, fail to compile, or fail to perform other needed migrations. |
--orchestrator-url | The full Orchestrator URL, including organization name (for example, https://cloud.uipath.com/myorg). If not specified, the connection from Studio is used. When specified, you must also provide credentials via Personal Access Token (PAT) using --orchestrator-pat or external Application ID and secret using --orchestrator-application-id and --orchestrator-application-secret. |
--orchestrator-tenant | The Orchestrator tenant name. Defaults to DefaultTenant if not specified. |
--orchestrator-pat | Personal Access Token (PAT) for Orchestrator authentication, used to access Orchestrator library feeds. Create a Personal Access Token, and add Orchestrator API access scope OR.Execution.Read. Refer to Personal Access Tokens. Alternatively, configure an application id and secret using --orchestrator-application-id and --orchestrator-application-secret. |
--orchestrator-application-id | OAuth Application ID for Orchestrator authentication (alternative to PAT). Use with --orchestrator-application-secret. Refer to Managing External OAuth Applications. |
--orchestrator-application-secret | OAuth application secret for Orchestrator authentication (alternative to PAT). Use with --orchestrator-application-id. Refer to Managing External OAuth Applications. |
--enabled-extensions | Comma-separated list of extensions to enable. By default, all extensions are enabled. Available extensions: UiAutomationActivities, MailActivities, MicrosoftActivitiesExtension. Example: --enabled-extensions MailActivities,MicrosoftActivitiesExtension |
--disabled-extensions | Comma-separated list of extensions to disable. Available extensions are dynamically populated based on discovered extensions. |
--disable-all-extensions | Disable all extensions. This option is mutually exclusive with --enabled-extensions and --disabled-extensions. |
--uia-package-version | The version of the UI Automation activities package to use for migration. Defaults to 25.10.21 if not specified. The target version must be higher than the default. If not, the default is used. |
--uia-fix-selector-strategy | When set to true, fixes the SelectorStrategy enumeration ambiguity in pre-existing expressions after migration. Applies to UIAutomation version 25.10.29 or higher. Default: false. The ambiguity results from the SelectorStrategy enumeration existing in both the UiPath.Core and UiPath.UIAutomationNext.Enums namespaces. Using the fully-qualified name resolves this issue. |
--mail-o365-package-version | The version of the Microsoft Office 365 activities package to use for migration. Defaults to version 3.6.10. The target version must be higher than the default. If not, the default is used. |
--config | Specifies the path to a custom configuration JSON file. The configuration can be used to modify the default behavior of certain activities or assign constant values to properties that require user input during the migration. Refer to Configuration file. |
Migrate a project
This option performs the actual migration of a project or parts of it.
Command: <tool-install-dir>\UiPath.Upgrade.exe upgrade
Usage: UiPath.Upgrade.exe upgrade [options]
| オプション | 説明 |
|---|---|
-?, -h, --help | ヘルプや使用状況に関する情報を表示します。 |
-p, --project-path (必須) | Path to the folder containing the project's project.json file. |
-o, --output-path | Output path for the upgraded project (optional). If not specified, a new folder with the suffix _Upgraded is created. |
-v, --verbose | Enable verbose logging. |
-f, --output-format | Output format: console (default) or sarif. |
-e, --extension-directory | Directory to search for extensions. For advanced use only. |
--ignore-missing-dependencies | Ignore missing dependencies during upgrade. Missing dependencies appear as warnings. Affected workflows may report missing types, fail to compile, or fail to perform other needed migrations. |
--orchestrator-url | The full Orchestrator URL, including organization name. If not specified, the connection from Studio is used. When specified, credentials are required. |
--orchestrator-tenant | The Orchestrator tenant name. Defaults to DefaultTenant if not specified. |
--orchestrator-pat | Personal Access Token (PAT) for Orchestrator authentication. Requires the OR.Execution.Read scope. |
--orchestrator-application-id | OAuth Application ID for Orchestrator authentication (alternative to PAT). |
--orchestrator-application-secret | OAuth application secret (alternative to PAT). |
--enabled-extensions | Comma-separated list of extensions to enable. Available extensions: UiAutomationActivities, MailActivities, MicrosoftActivitiesExtension. Example: --enabled-extensions MailActivities,MicrosoftActivitiesExtension |
--disabled-extensions | Comma-separated list of extensions to disable. Available extensions are dynamically populated based on discovered extensions. |
--disable-all-extensions | Disable all extensions. Mutually exclusive with --enabled-extensions and --disabled-extensions. |
--uia-package-version | Target UiPath.UIAutomation.Activities package version. Defaults to 25.10.21. |
--uia-fix-selector-strategy | When set to true, fixes the SelectorStrategy enumeration ambiguity in pre-existing expressions after migration. Applies to UIAutomation version 25.10.29 or higher. Default: false. The ambiguity results from the SelectorStrategy enumeration existing in both the UiPath.Core and UiPath.UIAutomationNext.Enums namespaces. Using the fully-qualified name resolves this issue. |
--mail-o365-package-version | The version of the Microsoft Office 365 activities package to use for migration. Defaults to version 3.6.10. The target version must be higher than the default. If not, the default is used. |
--config | Specifies the path to a custom configuration JSON file. The configuration can be used to modify the default behavior of certain activities or assign constant values to properties that require user input during the migration. Refer to Configuration file. |
Bulk repository migration
This option analyzes or migrates all projects found in a folder hierarchy.
Command: <tool-install-dir>\UiPath.Upgrade.exe bulk
Usage: UiPath.Upgrade.exe bulk [options]
| オプション | 説明 |
|---|---|
-?, -h, --help | ヘルプや使用状況に関する情報を表示します。 |
-p, --path (必須) | Path to the repository or folder. The migration is performed on all sub-folders that contain a project.json file. |
-c, --command (必須) | Command to run: analyze or upgrade. |
-v, --verbose | Enable verbose logging. |
-o, --output-path | Output root path for upgraded projects. This folder is created if it does not exist. A new folder with the suffix _Upgraded is created for the upgraded project. |
--orchestrator-url | The full Orchestrator URL, including organization name. |
--orchestrator-tenant | The Orchestrator tenant name. Defaults to DefaultTenant if not specified. |
--orchestrator-pat | Personal Access Token (PAT) for Orchestrator authentication. Requires the OR.Execution.Read scope. |
--orchestrator-application-id | OAuth Application ID for Orchestrator authentication (alternative to PAT). |
--orchestrator-application-secret | OAuth application secret (alternative to PAT). |
--enabled-extensions | Comma-separated list of extensions to enable. Available extensions: UiAutomationActivities, MailActivities, MicrosoftActivitiesExtension. Example: --enabled-extensions MailActivities,MicrosoftActivitiesExtension |
--disabled-extensions | Comma-separated list of extensions to disable. Available extensions are dynamically populated based on discovered extensions. |
--disable-all-extensions | Disable all extensions. Mutually exclusive with --enabled-extensions and --disabled-extensions. |
例
Analyze a single project with verbose output:
UiPath.Upgrade.exe analyze -p C:\to-migrate\LegacyProcess -v
UiPath.Upgrade.exe analyze -p C:\to-migrate\LegacyProcess -v
Migrate a project and specify a target UI Automation package version:
UiPath.Upgrade.exe upgrade -p C:\to-migrate\LegacyProcess -o C:\to-migrate\WindowsProcess --uia-package-version=25.10.27 -v
UiPath.Upgrade.exe upgrade -p C:\to-migrate\LegacyProcess -o C:\to-migrate\WindowsProcess --uia-package-version=25.10.27 -v
Migrate a project using a custom connection configuration:
UiPath.Upgrade.exe upgrade --project-path=C:\to-migrate\LegacyProcess --config=C:\to-migrate\connection.json
UiPath.Upgrade.exe upgrade --project-path=C:\to-migrate\LegacyProcess --config=C:\to-migrate\connection.json
Run a bulk analysis on a folder:
UiPath.Upgrade.exe bulk -p C:\to-migrate -c analyze
UiPath.Upgrade.exe bulk -p C:\to-migrate -c analyze
The default output of the upgrade command is a SARIF report stored in the original project under a .upgrade folder. The migrated project is saved to the output path.
構成ファイル
Use a configuration file to set constant values for activity properties that require manual input during migration, or to override default migration behavior.
Pass the file path to the migrator using the --config option.
The configuration file must follow this format:
{
"{reserved-configuration-key}": "{value}",
"...": "...",
"{path-to-workflow} > {activity-display-name}": {
"{property-name}": "{property-value}"
}
}
{
"{reserved-configuration-key}": "{value}",
"...": "...",
"{path-to-workflow} > {activity-display-name}": {
"{property-name}": "{property-value}"
}
}
- Currently, the only
{property-name}that can be assigned isConnection Id. {reserved-configuration-key}represents activity-specific behavior changes:SaveOutlookMailMessage_IgnoreSaveAsType: If set totrue, the option disables theSave as typecheck for unsupported types. The activity can thus be migrated regardless of theSave as type option.
*acts as a wildcard and matches any value in both{path-to-workflow}and{activity-display-name}.- When multiple entries match the same workflow and activity, only the last match is applied.
Getting the ConnectionId from Orchestrator
AS of March 2026, connections have moved from Integration Service to Orchestrator. You can retrieve the ConnectionId directly from the connection URL in Orchestrator:
- Navigate to your connection in Orchestrator: Go to the Orchestrator folder where your Microsoft Outlook 365 connection is located.
- Open the connection: Click on the connection to view its details.
- Check the URL: The
ConnectionIdis visible in the browser URL with the following format:https://cloud.uipath.com///orchestrator_/connections//edit/tid=
Setting Connection IDs for Productivity activities
The ConnectionId property is not populated automatically during migration. You must set it manually per workflow/activity using a configuration file. The configuration file can be passed to the Activity Migrator using the --config <config> command line argument.
The following example assigns different connection IDs to specific Productivity activities (Microsoft Office 365, GSuite), using a wildcard fallback:
{
"* > *": {
"ConnectionId": "00000000-0000-0000-0000-000000000001"
},
"*\\Projects\\MailMigration\\Main.xaml > Get *": {
"ConnectionId": "00000000-0000-0000-0000-000000000002"
},
"*\\Projects\\MailMigration\\* > Send Mail": {
"ConnectionId": "00000000-0000-0000-0000-000000000003"
}
}
{
"* > *": {
"ConnectionId": "00000000-0000-0000-0000-000000000001"
},
"*\\Projects\\MailMigration\\Main.xaml > Get *": {
"ConnectionId": "00000000-0000-0000-0000-000000000002"
},
"*\\Projects\\MailMigration\\* > Send Mail": {
"ConnectionId": "00000000-0000-0000-0000-000000000003"
}
}
In this example:
* > *matches all activities and acts as a fallback when there are no matching entries below.*\\Projects\\MailMigration\\Main.xaml > Get *matches any activity whose display name starts withGetinMain.xaml.*\\Projects\\MailMigration\\* > Send Mailmatches theSend Mailactivity across all workflows in theMailMigrationfolder.
Post-migration UI Automation Application Scope behavior
Most modern UI Automation activities require an application scope (Use Application/Browser activity). During migration, two types of scopes are created:
Organically created scopes
These scopes are generated automatically when migrating classic scoped activities such as Open Browser and Attach Browser. These scopes are not optimized to avoid altering the original intent and flow of the migrated workflow.
Synthetically generated scopes
These scopes are generated to ensure the workflow compiles and runs correctly after migration. When two consecutive scopes have identical properties (for example, the same selector or OCR engine), they are merged into a single scope while preserving the original activity order.
制限事項
UI Automation アクティビティ
- The minimum supported target version of
UiPath.UIAutomation.Activitiesis25.10.21. - Some activity properties have migration limitations. See the supported activities lists:
- Migrated workflows using modern UI Automation activities may execute more slowly than the original workflows using classic UI Automation activities.
生産性を高めるアクティビティ
- The minimum supported target version of
UiPath.MicrosoftOffice365.Activitiesis3.6.10. - See the supported activities lists:
Tool limitations
- By default, the Activity Migrator tool uses NuGet feeds configured in
NuGet.config: Official, Local, and Marketplace. To include Orchestrator library feeds, use the options for theanalyze,upgrade, andbulkcommands:--orchestrator-url,--orchestrator-tenant,--orchestrator-pat,--orchestrator-application-id, and--orchestrator-application-secret. - Activities that use dynamically generated types or assemblies (for example, some Excel activities may have column names as properties in a dynamically generated type) may cause a Type not found error in
.xamlfiles after migration.
Studio Workflow Analyzer rule
- The ST-AMG-001 Workflow Analyzer rule is available starting with Studio 2025.10.8 LTS and Studio 2026.0.189 STS.
Migration best practices
Before migrating
- Back up your projects: Always create a full backup before running any migration commands.
- Update Studio and activity packages: Use the latest version of UiPath Studio and ensure target package versions meet the minimum requirements (UiPath.UIAutomation.Activities >= 25.10.21 and UiPath.MicrosoftOffice365.Activities >= 3.6.10).
- Analyze before upgrading: Run the
analyzecommand first. UseUiPath.Upgrade.exe analyze -p -vto generate a SARIF report and identify potential issues without modifying the project. - Verify dependencies and NuGet feeds: Confirm that the Official, Local, and Marketplace feeds are correctly configured in
NuGet.config. - Migrate the libraries first when a project depends on library projects: Only then migrate the projects that consume them.
During migration
- Start with a single project: Test migration on one project using
UiPath.Upgrade.exe upgrade -p -vbefore running a bulk operation. - Use bulk migration for multiple projects: Once validated, run
UiPath.Upgrade.exe bulk -p -v. Ensure the folder structure is clean and consistent. - Provide a configuration file for Connection IDs: For Microsoft 365 or GSuite activities, create a config file with the required
ConnectionIdvalues and pass it with--config:
{
"* > *": {
"ConnectionId": "00000000-0000-0000-0000-000000000001"
}
}
{
"* > *": {
"ConnectionId": "00000000-0000-0000-0000-000000000001"
}
}
After migrating
- Review the SARIF report: Check the
.upgradefolder in the project directory and address any flagged issues. - Open the migrated project in Studio and run Analyze Project: Review the results of the ST-AMG-001 Workflow Analyzer rule (available in Studio 2025.10.8 LTS / Studio 2026.0.189 STS or higher) to identify activities that require post‑migration actions.
- Validate application scopes: Confirm that merged scopes behave as expected. Test workflows with Use Application/Browser activities.
- Run end-to-end tests: Execute migrated workflows in a controlled environment before deploying to production.
Performance and maintenance
- Optimize UI Automation selectors: After migration, review selectors for accuracy and stability.
- Monitor execution time: Modern activities may run slower initially. Optimize where needed.
- Document your changes: Keep a record of migrated projects, target versions, and applied configurations for audit and rollback purposes.
- Purpose of the Activity Migrator
- Supported migration scenarios
- Project framework migration
- Access to modern UI Automation capabilities
- Deprecated Outlook activities migration
- Activity Migrator vs. the Studio Windows - Legacy converter
- Where to get the Activity Migrator
- 要件
- How to use the Activity Migrator
- Analyze a project
- Migrate a project
- Bulk repository migration
- 例
- 構成ファイル
- Getting the ConnectionId from Orchestrator
- Setting Connection IDs for Productivity activities
- Post-migration UI Automation Application Scope behavior
- 制限事項
- UI Automation アクティビティ
- 生産性を高めるアクティビティ
- Tool limitations
- Studio Workflow Analyzer rule
- Migration best practices
- Before migrating
- During migration
- After migrating
- Performance and maintenance