I’ve deployed a Bot on the Production Virtual Machine.
I use UiPath Robot Front-end to run it.
The activities I’ve done are these ones: After publishing the Bot in the Development Machine, I’ve copied the package and pasted it into the Package folder of the Production Machine.
The Package contains a Congig.xlsx file with all the passwords necessary to login in the applications.
Is it possible, every time we need to change the password, to change them in the Package folder of the Production Machine or is it necessary to change them with the UiPath Studio, republish the Bot and copy it in the Production Machine?
Thank you so much friends,
i think you uploaded a image not able to open. can you upload it again.
I’ll reload it.
Can you see it now?
yes i am able to see the image now.
Thank you @arivu96.
Have you got any suggestion or answer?
Thank you so much,
is it possible to modify the Bot from the Project folder in the Production Machine
or it is a folder created every time the Bot runs?
Thank you so much,
@CamiCat, it’s all depends on your production execution process. If you wanted to change passwords for each iteration then change before execution and run the bot.
if you wanted to change on fly then it has to handle in different way of design. when you run the bot script. then script will take a snap shot of the content inside config.xls (if you design in this way )and store all values in strings. in this scenario, you many change passwords (if it is a shared excel config file) but bot will not detect changed values.
i am trying to understand your scenario… what is influencing to change passwords on fly ?
if you wanted to change in the each iteration then you can share your config.xls (this will allow you not to touch or login into production VM ) and change before each iteration. or write a code to detect new configs.xls for each iteration which contain new passwords for successful execution.
it’s all depends on your business flow and design… hope my inputs are useful.
You can able to change the folder path in Main.xml (Edit by Notepad++). When you search the “xlsx”, you can get it.
Thank you @balupad14 but I don’t have to find the name of the file.
I should modify the data inserted in the Config file after have copied the package publishe in the Production machine.
Is it possible?
Thank you so much,
How are you deploying the package to the Productions.?
Are you copying the ‘.nugpk’ file of your project that you published in local to your production environment.? If yes then i believe you are moving those to ‘ProgramData/UiPath/Packages’ from where your System Tray UiRobot comes to know that there is a package available to run (Only if not connected to orchestrator).
In this case, You have to click on the Download Icon available next to the Project Name under UiRobot popop(for every new version published for your project). Once You download, Your project is actually downloaded under the path where UiPath is Installed ‘…\UiPath\Projects’. If you open the folder of your project there, you find your project files under ‘…\lib\net45’. Your config.xlsx file should be available here as well from where you can change your password. After changing your password in config.xlsx from here and then running the workflow from the system tray again, it will always take the updated password from the config.xlsx file.
However i believe this won’t be a feasible way to deal with a process in production. Few problems that i see here,
- In future if you have a new ‘.nugpk’ published version of your project copied to the production, UiRobot will request for download from system tray and will create a new folder under ‘UiPath\Projects’. Your previous folder under which you made changes to config.xlsx file will never be consider, although it would still be present.
- In my opinion every change in the production should be tracked. By making changes directly to the config.xlsx file in production, you would just miss the tracking and changes you are making to your project.
The best way to deal with this is by using orchestrator and storing your passwords under assets. If you don’t have orchestrator then until then i believe it should be better to publish your project everytime instead of making changes directly. Again it depends on how frequent the password of the application changes & how frequent job runs. Since it looks like a Front Office Bot, Check for the possibility if its feasible to request for the password from the agent running the workflow using an input dialog or something else.
That’s my opinion and it may differ based on experiences from other people who may have more experience in dealing with production bots Again, the behavior i mentioned is all related to Community Edition, not sure if the behavior would differ much for enterprise solutions.
Thank you so much @Rammohan91 for your helpful response.
Exactly, I’m copying the ‘.nugpk’ file of the pproject published in local to the production environment.
I have moved the package ‘ProgramData/UiPath/Packages’ from where the System Tray UiRobot comes to know that there is a package available to run (not connected to orchestrator).
After changing your password in config.xlsx from the folder …\UiPath\Projects\Name\lib\net and then running the workflow from the system tray again, it will always take the updated password from the config.xlsx file?
Thank you so much @Rammohan91.
I think you have resoved my problem.
I’ll have a try and let you know.
Simple solution to utilizing a settings file without the need to republish the project each time, would be to use the full filepath of the config file, and probably store the file in a location that can easily be accessible.
If you don’t use the full filepath then it uses the relative location which will be located on the Orchestrator machine inside the installation folder. This will make it very difficult, especially if IT doesn’t give you access to the Orchestrator server or the folder. But it should be located in the installation folder under the nugetpackages folder.
If you run it from the machine directly like from system tray, then yeah it’s in the ProgramData folder like which was mentioned.
I still suggest using the full filepath for creating a Config that you want to be able to change without publishing.
Thank you so much @ClaytonM.
Thank you for the helpful response.
Can I only ask to you what do you mean by using the full path for the Config file?
Can you please give me an example?
Thank you so much.
Like when you read in the file with Read Range or whatever, you can use the full filepath.
or whatever the filepath of the file you are using whether it is in a local location on a machine or shared on another machine over the network.
When you use the full filepath, it will let you keep the file in an easily accessible location and it can be updated without needing to publish the project each time. The only disadvantage is that if the file gets updated incorrectly or deleted, it can cause a job to fail.
Thank you so much @ClaytonM.
I’ll propose to move the Config.xlsx file to a shared folder on another machine over the network.
Thank you so much for your kind response,