Picture in Picture (Experimental)

Hello guys !
I’ve got an important problem I don’t know how to solve and it’s pretty urgent… I found the same problem in this topic but no real answers…

I created an automatisation for my client. He wanted a process that could be launched in PiP mode.
It’s working on my computer because my session’s password always stays the same so I don’t even have to write my login and password when the PiP session is opening.
But the problem is, that my client has a RSA password changing every 30 seconds.
When he launches the projet in PiP mode, it asks him to enter login and password and when he types its we have a message error “connection failure”.

Do you have any idea of what to do in this case ? Thank you very much guys !

The error tells you the problem. PiP is not enabled on the machine.

Hello Team
I am facing with StartProcessInSession timed out error.

Hello,

Please refer to a post up here by @nerlichman to set up an environment Variable. Maybe that will help.

Thanks

1 Like

@nerlichman What is the path value that needs to be set for this variable?

Hello!

We are facing an issue of process run in PiP is 100% slower than in normal unattended mode. When process is not run in PiP and is running as an unattended solution, it takes around 20s to complete. When running in PiP it takes around 40s. Have you ever encountered slowness when dealing with PiP? If yes, have you found, what was the reason?

Hi @aditi1,

If you are having timeout issues when the PiP session is starting you can try to solve it creating a system environment variable like this (sorry for the Spanish info in the screenshot):
image

@nerlichman It is not the environment variable issue I guess. It is not able to identify the desktop application that needs to be opened in PIP mode. So, the first step is to open a desktop application which works fine without PIP but when I run it in PIP mode it throws the error ‘Not able to find the element.’

Local hardware capacity can be a reason. A PIP takes horsepower to render as a copy of your desktop , something similar to a remote desktop. The difference is that a VM runs on a different machine with its own power whilst the PIP is running on your own laptop.

It may be one reason that things might be slower in PiP.

So, does that mean if I put more waiting time, will that work or if I try it on a VM, will that makes any difference? Although I do have a good hardware on my local since it is a gaming application that I am trying to automate so I have around 16 GB of RAM and 2.3 GHz, 8 Core, 16 Logical processor.

There is a reason why that variable exists. In my opinion I would rather try what options are available.

I have a gaming PC configuration too, but when somethings such as the Anti-malware utility is running it brings the hardware to it’s knees. Therefore there can sometimes be a drag in performance .

So setting up this variable and trying to resolve the problem might be worth giving it a shot.

This is true unless you have a valid reason not to set up an environment variable.

A PiP feature is made for Attended automation . If you are going to execute something on a VM that would mean a entirely different and more elaborate method of testing.

@AndyMenon I had already tried setting up the environment variable with 300 value but that didn’t work.

Did you try opening the unity app manually once your PIP window is up?

Ok, so I think I got the issue. I tried few things. I used ‘Start process’ instead of Open application to open the application and that did work but the application is opening outside the PIP Window and not within the PIP window so I am not able to do any action within the application as it is not in PIP Window. I tried to do same action manually in PIP window and it’s the same behaviour. Application always opens outside the PIP window and not inside it. I tried to open some other application in PIP window and they were opening inside but the Unity ones always open outside. Can this be application specific?

Talk about coincidences! I posted this as a question elsewhere on the forum.

I’m having the same problem.
I have Start Process, and it works well in PIP when testing from Studio.

After I deploy, it does not work in PIP when running from Assistant.

Something that makes PIP work in Studio is missing in Assistant.

Tomorrow I have to upgrade to the latest packages and try again.

If not I think this is a bug. :unamused:

@AndyMenon Yeah but in my case it doesn’t work well in PIP itself. I don’t understand why application is opening outside the PIP window when I am opening it within PIP window.

Hi team, when robot and main session use clipboard at the same time, seems the content in clipboard will be overwritten.

Hi @aditi1 ,

Did you find a solution? I solved my issue with this approach. I posted it in another post that I originated.

thanks,
Andy

Hi All,

How can i execute Picture in Picture for multiple users in the same server machine simultaneously?

Regards,
Nalini

Hi,
I’m encountering this problem.
How to solve it ?
Thanks

Message: An error occurred while we tried to start the process in Picture in Picture.

Exception Type: System.InvalidOperationException

RemoteException wrapping System.InvalidOperationException: An error occurred while we tried to start the process in Picture in Picture. —> RemoteException wrapping System.Threading.Tasks.TaskCanceledException: StartProcess —> RemoteException wrapping System.OperationCanceledException: The operation was canceled.
at System.Threading.CancellationToken.ThrowOperationCanceledException()
at System.IO.Pipes.NamedPipeClientStream.ConnectInternal(Int32 timeout, CancellationToken cancellationToken, Int32 startTime)
at System.IO.Pipes.NamedPipeClientStream.<>c__DisplayClass20_0.b__0()
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
— End of stack trace from previous location —
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
— End of stack trace from previous location —
at UiPath.CoreIpc.NamedPipe.NamedPipeClient1.ConnectToServerAsync(CancellationToken cancellationToken) at UiPath.CoreIpc.ServiceClient1.EnsureConnection(CancellationToken cancellationToken)
at UiPath.CoreIpc.ServiceClient1.<>c__DisplayClass18_01.<b__1>d.MoveNext()
— End of stack trace from previous location —
at UiPath.CoreIpc.IOHelpers.WithTimeout[TResult](IEnumerable1 cancellationTokens, TimeSpan timeout, Func2 func, String message, Func2 exceptionHandler) --- End of inner exception stack trace --- at UiPath.CoreIpc.ServiceClient1.<>c__DisplayClass18_01.<InvokeAsync>b__2(Exception ex) at UiPath.CoreIpc.IOHelpers.WithTimeout[TResult](IEnumerable1 cancellationTokens, TimeSpan timeout, Func2 func, String message, Func2 exceptionHandler)
at UiPath.CoreIpc.ServiceClient1.InvokeAsync[TResult](String methodName, Object[] args) at UiPath.ChildSession.Client.ChildSessionClient.<>c__DisplayClass6_0.<<StartProcessInChildSession>b__0>d.MoveNext() --- End of inner exception stack trace --- at UiPath.ChildSession.Client.ChildSessionClient.<>c__DisplayClass6_0.<<StartProcessInChildSession>b__0>d.MoveNext() --- End of stack trace from previous location --- at UiPath.Service.UserHost.AttendedServiceProxy.UiPath.Service.Core.IUserModeProxy.StartProcessInSession(StartProcessParameters processParameters, CancellationToken ct) at UiPath.CoreIpc.Server.InvokeMethod(EndpointSettings endpoint, Request request, Object service, MethodInfo method, Object[] arguments) at UiPath.CoreIpc.Server.HandleRequest(EndpointSettings endpoint, Request request, IServiceScope scope, CancellationToken cancellationToken) at UiPath.CoreIpc.Server.<>c__DisplayClass4_2.<<-ctor>b__6>d.MoveNext() --- End of stack trace from previous location --- at UiPath.CoreIpc.IOHelpers.WithResult(Task task) at UiPath.CoreIpc.IOHelpers.WithTimeout[TResult](IEnumerable1 cancellationTokens, TimeSpan timeout, Func2 func, String message, Func2 exceptionHandler)