Process exists action in utility general VBO in Blueprism - blueprism

If I wanted to check if an application is already open or not, how can we check that with process exists action in utility VBO in Blueprism? It is asking for process name when I go with process exists action as input. I have given a process name where we can see it in the task manager but it is not producing the desired results.
For an example, if I want to launch a Google page through BluePrism but it is already open, now I want to know whether this Google page is open or not. For this we can use Utility VBO but I am not getting it.
How to fix this problem?

"Process exist" action allows you to check if the process with this name is running right now in windows. To use that, you need to have a proper, process name. For example for internet explorer it's "iexplore", and for MS Excel it's just "excel".
Using this action you can get only understanding if the process exists or not, and nothing more.
If you'd like to know if the webpage google.pl had opened, then you'll need to use other techniques - namely using application modeler, spying windows and using a variety of blueprism actions.

While launching any web application, BOT should attach the process to window/application, if attach action returns false then only BOT need to launch the site in IE. For Attach action there will be different inputs are available some of them are listed below:
ProcessName
WindowText

Related

Excel Script + Power Automate - Script not found. It may have been unshared or deleted

I have a PowerApp that:
takes a SharePoint file,
filters the data,
and calls a PowerApps/Flow to:
execute an Excel script,
get the file contents,
and create a file with it.
The script is shared to all PowerApps users, same for the source file, everyone can read, edit and delete the file.
When anyone but I run the flow either from the PowerApp or from the flow itself, they get an error "Script not found. It may have been unshared or deleted." This happens when anyone other than me tries to run the app/flow.
The weird thing is that if I run the PowerApps / Flow, everything works fine.
Do you know how can I get other users than me to run it either from the PowerApps or PowerAutomate ?
This issue is 'kinda' similar to this one but it's different in the source file.
Found out how this one is working. Sharing the solution here :
Firstly, you'll need to create all your flows and PowerApps apps within a "Solution". You can create a new solution from "Solutions/New solution".
Within this new solution, create a button-triggered flow that runs Office Scripts. Let's call it "Child flow". Please note this flow requires to have a last action to respond to a PowerApp or flow.
Configure this child flow with run-only users settings as described in my previous response. Make sure to choose "Use this connection ...".
Within the same solution, create another flow with the PowerApps trigger. This flow will be triggered by your PowerApps app. In this flow, add a step to run the child flow you've just created above.
Within the same solution, create your PowerApps app. Configure your PowerApps button to run the second flow (the parent flow).
Now share the PowerApps app with another user, ask them to try it out, and see if the Run script action in the child flow can work properly.
Thanks to Yutao from MS for the solution !

Overide Defaultappassociations.xml and let user select the application

I am working on Win 10 upgrade activity. As you know we can select application for file extension. So, those file will open on that app. e.g. html files only open in Chrome when user double click on that.
We can create XML file (DefaultAppAssociations.xml) and place it in C:\windows\system32
Now, I got the request to make one application default but let user decide if they want any other app. Is there any way to handle such things because defaultappassociations.xml will hard code this. Every time machine restart and it will set the same.
This is only possible as part of the operating system deployment or rather for newly created user profiles.
The command (official documentation):
Dism.exe /online /Import-DefaultAppAssociations:<path to exported xml>
However as I said you cannot alter existing profiles that way. Altering existing profiles in any way that is not the force via gpo is afaik not possible anymore because Microsoft does not want to allow it. A pretty stupid decision but at least you can tell whoever made the request that it is by MS design.

Get current users lotus notes database

there is a way to pick up (by code) who are currently using a particular DB. It could be Java, Lotusscript, Formula, anything, I just want to know who is currently using it. I would put it in a agent.
In general, no, there is no way. You could build a way in your own application by adding code that tracks each user whenever they open it, and timing them out to decide when they have stopped using it, but there's nothing built-in to do that.
I did it!
In Domino Administrator there is a way to see who is using all databases in that server.
Here's a example
Actually you see "sh users" shell command in a beautiful way.
So what I did was use the "session.Sendconsolecommand('server', 'sh users')". It returns me the data on the above image in a String.
There was a pattern so I search in It if the user is currently using the DB.

How to identify which application is used to start excel process in task manager

My vb application is used to generate the excel reports.During the last run it got failed in between but the excel process still running in the background on server.
The problem is there are some other applications that uses excel process to generate reports. I need to terminate the particular instance of excel which was still running at the background.
I don't know about the task manager but Sysinternals Process Explorer would give you that information. It lists all processes in a tree view displaying parent/child process hierarchies. http://technet.microsoft.com/en-gb/sysinternals/bb896653.aspx
I asked this question before and the bad news is, that there is no straightforward way to do that.
What can be done: When you start up excel in your application store the PID (if available, I am not sure) and / or the path of the created document. In case of an error, terminate the specific excel process by PID. Or if that is not possible: iterate over all open excel instances and find the one which has opened the path - than kill that instance. The latter approach is problematic in multi user environments, as Excel does not react well when used by multiple applications.
The best way would be to get rid of excel on the server altogether and move to an independent excel-writing library like EPPLUS or Aspose.Cells or other alternatives. But I do not know, if these libraries are still available for VB6. Please note, that Microsoft advises against using Office on a server

Why is QTP's Recovery Scenario not triggering when I have a pop-up dialog that I need to dismiss?

I have a QTP script that interacts with a webpage. Occasionally, this webpage will pop-up dialogs that interfere with the rest of the test, and need to dismissed with a simple "OK" before I can continue running the test.
Recovery Scenarios are supposed to take care of this exact situation, but try as I might, QTP will never recognize the pop-up. The recovery scenario is set to trigger upon seeing a dialog with "Window title: Message from webpage". I used the object spy so I know that this is the correct identification.
Attached is the dialog box that the webpage occasionally displays. Very simple dialog, so why won't QTP recognize it?
Turns out, my Recovery Scenario was built correctly, but the problem I had was that QTP didn't know when to activate the Recovery Scenarios.
Go to File > Settings > Recovery, highlight the recovery scenario you want to have activate, then change Activate recovery scenarios to On every step.
By default, the recovery scenarios are only activated when QTP throws an error, not when your web page throws an error.
Lastly, having the recovery scenario check every step will probably degrade performance.
You should inspect when this window appears like a page refresh, opening a new window or clicking on a button, or operating on a page for 2 long.
Then since this is a standard window you get, why don't you add in Object repository.
Then create a function which checks for this window's existence
call this function when any of the suspected scenarios happen.
this will not degrade the performance badly comapred to recovery scenario.

Resources