UiPath 进程可以转换为二进制可执行文件吗?

Can UiPath process be converted into binary executable?

我在 UiPath 中有一个自动化 PyCharm 的过程,一个非常简单的过程,就像 运行 设置一个 Python 脚本并将 运行 消息复制到文本中文件。现在我想把它转换成二进制文件,以便在 windows 机器上执行。

我开始知道 UiPath 确实有一个将项目导出到可执行文件的选项,但遗憾的是它也被删除了。
我还查看了 UiPath 的 orchestrator,但这对我来说确实有意义。我不明白为什么一家公司会删除如此重要的功能(转换为可执行文件)并提供这样一个混乱的解决方案。 可能是我遗漏了什么。


我的问题是....

是否有任何解决方法,任何可以将 UiPath 项目转换为 windows 可执行文件的第三方技巧。

UiPath 希望用户能够直接运行 可执行文件。他们强迫用户使用 Orchestrator。因此,他们始终可以完全控制用户及其许可模式。如果他们仍然提供可执行方式,那么有人可以轻松地使用 UiPath 创建任务并将其发送到任何其他 PC,而无需使用 UiPath 帐户。所以这主要是他们停止提供这种方法的原因。但是您还有一些其他选项可以 运行 您的流程,所以不用担心。

这些方法是:

  1. 使用 Orchestrator。 运行 来自您的 Orchestrator 仪表板 的进程(通过作业手动或时间触发甚至另一个启动触发器)。

  2. 使用 Orchestrator 并使用 UiPath Robot(已安装 UiPath)。现在您可以简单地从 托盘图标.

  3. 开始
  4. 使用 UiPath Studio 并从这里开始处理。

  5. 创建一个 批处理 文件,运行 是您进程的启动命令脚本。此行 UiRobot.exe_Path /file:"Main.xaml" 将 运行 您的流程。

  6. 创建一个 Visual Studio 应用程序 (exe),其中 运行 是 #4 中的批处理文件。

  7. 使用REST API到运行进程。

如您所见,您有多种选择,但不幸的是,exe 解决方法只是批处理文件的包装器。

我建议您使用 Orchestrator,因为它为您提供了很多可能性和对流程的控制以及良好的日志记录。

最简单的方法是在批处理文件中调用 UiPath Robot Command Line Interface。我建议您先打包进程,然后使用带有 --process {Package_ID} 参数的 UiPath.exe execute 命令在批处理文件中引用该包。您可以将 UiPath.exe 添加到您的 PATH 环境变量中,这样您就不需要在批处理文件中使用 exe 的绝对路径。批处理文件将能够像可执行文件一样在 Windows VM 上 运行。或者,您可以将快捷方式添加到 UiPath.exe,并在快捷方式的属性菜单中将参数添加到快捷方式的目标。

我正在为此目的使用 AutoHotkey 脚本,我想我会分享我的方法,

使用以下代码创建 *.ahk 脚本,

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
#SingleInstance force
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
SetTitleMatchMode,2
DetectHiddenWindows, On
; you don't need to modify below code unless UiPath Studio changes its shortcut name
EnvGet, LocalFolder, LocalAppData ;use windows Env variable to get local appdata folder
UiPath=%LocalFolder%\UiPath
UiPath_ShrtCut=%A_Programs%\UiPath Studio.lnk
UiPath_Prcss:="UiPath.Studio.exe"
UiPath_Asstnt:="UiPath.Assistant.exe"
FileGetShortcut, %UiPath_ShrtCut%, , OutDir ;get parent directory of shortcut.lnk

;modify your_script_path\Main as per your script and its path
Script=""%OutDir%\UiRobot.exe" "-file" "your_script_path\Main.xaml"" ;script folder and script name

; you can add additional clause in here
If (FileExist(UiPath) "D") 
    {
    
        Process, Exist, %UiPath_Asstnt%
        if ErrorLevel = 0

            {   
                Runwait, %UiPath_ShrtCut%
                WinWait, ahk_exe %UiPath_Asstnt% ;wait for UiPath.Assistant to load
                Sleep, 2500
                Runwait, %comspec% /c TASKKILL /im %UiPath_Prcss% /f ,,Hide ;now kill UiPath main window
                ;Run, %A_AHKPath% %Rec_Script% ;run record
                Run, %comspec% /c %Script%,,Hide
            }
            
        else
            {
                ;Run, %A_AHKPath% %Rec_Script% ;run record
                Run, %comspec% /c %Script%,,Hide
            }

    }
return

然后根据您想要的触发器创建任务计划,并在操作选项卡中使用以下内容,
Program/Script: "C:\Program Files\AutoHotkey\AutoHotkey.exe"
添加参数(可选):"Script_path\Script_name.ahk"