Executing multiple .exe files

I have 3 .exe files.
if .exe1 returns True I have to execute .exe2
else I have to execute .exe3
how to achieve this openRPA or nodered

Is there anyway I can store the result of .exes and use for further conditioning

I should probably add an option to grab output from Start Process, but for now you can use pipe.
With start process.xaml (4.6 KB)

Personally i would prefer doing this from powershell ( either all or just the .exe execution )
With powershell.xaml (5.2 KB)

Thank you @Allan_Zimmermann

I tried with startprocess.xaml

I have written below python code and created .exe for testing purpose

def tempfunc():
with open(r’E:\Logs\temp.txt’,‘r’) as temp:
data = temp.readline()

    if data == str(2):
        return True
    else:
        return False

if name == “main”:
print(tempfunc())

My .exe is returning True but it is not capture in test.txt file.

I don’t code python so i cannot help you with troubleshooting your code.
But if you want to run python, you can simply use invoke code and set it for python ( this will be python 3.7 so if you need another version you still need to use one of the above methods )

No problem, I figured out alternate way through python.

Is there any way using OpenRPA I can remotely access .exes files ?

@Allan_Zimmermann could you please help ?

Thanks in advance.

I don’t know what you mean by “remotely access .exes files” ?
Can you explain how that would work ?

Sure, suppose I have 3 servers and I’m running openRpa on server1 but I have several .exes on server2 and server3. Instead of bring all .exes on server1 can I access them remotely from server1 ?

sure, by unc … but the it will still run on server1 ?

But .exe will be present on server2 so how it will run on server1. OpenRPA present on Server1 will just invoke that .exe right ? Just trying to understand.

And how we can achieve this by unc…?

This is beyond openrpa. If you have a very specific use case feel free to explain it and i will try and point you in the right direction. Openrpa can start processes locally, if you want to run on another server install openrpa on that server
If that is not good enough, try looking at alternatives like ws-man for powershell, psexec etc. that is beyond what i can support for free on the forum.
Like wize if you need to run a program with the binaries located on another server, map that drive as an unc path.

We’ve like 60 scripts which run in parallel and they’re spread across multiple serves. Bring them on one server will cause performance issues and conflicts. If we install openRPA on each server then will it point to one URL or it will be different for each server. We want one URL grouped for all bots from where we can execute them.

I don’t understand what you mean by “If we install openRPA on each server then will it point to one URL or it will be different for each server. We want one URL grouped for all bots from where we can execute them.” If your software does not support getting the url dynamically you need to contact the vendor and ask how to make it dynamic.

Suppose, I install openRPA on server1, the openflow would probably have IP of server1, which will have all bots of server1.

For another sets of .exes which are on server2, I will install openRPA and openflow will have IP of server2. This will contain all bots of server2.

But we don’t want like this, we want just one URL of openflow from which all bots will be handled present in server1, server2…etc

The .exes should be triggered from server1 and it should run on server2 so that load is balanced.

Hello @Allan_Zimmermann, could you please help ?

Thank you

openflow is a server application, openrpa is a client … you are not suppose to install openflow on every client. You install openflow once, and setup all clients to use that as a central server.
There are cases where having a local openflow makes sense and then you connect that to a central openflow, but that is beyond this topic for now.

Yes @Allan_Zimmermann, I understood this.

But in my case, all .exes are spread across multiple servers how will I achieve them to invoke from one server.

For doing this, I will have to install openRPA(client) on all servers that is what we’re avoiding.

Any alternate option you could provide for this ?

Where I have one client managing all .exes of multiple servers. (Managing here means just to trigger that .exe present on another server)

This is going around in circels … i told you multiple times how it works and your options.
Install openrpa on each server and use openflow as orchestrator on one of the servers
Or use other tools for invoking it remotely … like psexec or ws-man over powershell.

Sorry for trouble @Allan_Zimmermann. Understood this

OpenRPA (and NodeRED) can only run workflows and start processes ( using “Start Process” or “Invoke Code” activity ) on the server/client it’s installed.
The process you start can have it’s binaries placed on a network drive ( but then you will run into a ton of security issues. And that is also beyond what i want to support over this forum, just google Activity Directory policy for network access in intra domain’s and .net remote domain execution policies )

OpenRPA can invoke local workflows using “Invoke OpenRPA”
PowerShell can invoke local workflowsusing “Invoke-OpenRPA” ( explained here )

OpenRPA can execute workflows on OTHER robots using “Invoke Remote OpenRPA”
NodeRED can execute workflows on any robots using “RPA” node
PowerShell can execute workflows on OTHER robots using “Invoke-RemoteOpenRPA”

Using PowerShell or psexec ( and many many other tools ) you can also start a process remotly but that is not something i can or will support over this forum. Just google it, if this is what you want.

1 Like