Arduino IDE Boards installation in school laboratories

Hi,

I am an IT Technician of a company in Italy, and we have a problem with Arduino IDE in our laboratories.
I sent an assistance request through the form in the website, and I was suggested to post the issue in the forum, and then send the link to @pert , because he is the best suited to assist me, and so that others with similar issue can benefit from the solution that will be provided.
But I couldn't find how to send a message. I hope this post is ok. I'm not sure the section is right.

This is the problem:

In our company we have a school with some classes that use Arduino IDE with boards esp32.
Students have guests users and NON administrators.
The installation folder is in "C:\Program Files\Arduino IDE", but file directories are in:
C:\Users\username\AppData\Local\Arduino15
C:\Users\username\Documents\Arduino

You can change them in the "arduino-cli.yaml" file in the .arduinoIDE folder, but this file is located in "C:\Users\username.arduinoIDE"
When a new user makes the login, and opens Arduino, it creates the folder .arduinoIDE in "C:\Users\username.arduinoIDE"

We want to install Arduino and the board Esp32 from our administrator users and to make it work for every user that make login in that computer.
As IT technician we need to manage the installation of the software in the PC of laboratories and every change in the components. Other users, teachers and students, shouldn't do anything, they only have to use the software.
Is there a way to make a system installation and NON user installation? Is there a way to install and manage Arduino and all components (boards, libraries, ecc.) from ours admin users, and apply the changes for all users? Even guest user?

Is there a way to make it work? Can you help me with this problem?

Sorry for my english.
Thank you

Giuseppe

Hi @gt8. It is not possible when using Arduino IDE 2.x at this time. The location of the .arduinoIDE folder under the user folder is hardcoded and not configurable.

The Arduino IDE developers are tracking the need to implement a "portable" functionality here:

If you have a GitHub account, you can subscribe to that thread to get notifications of any new developments related to this subject:

screenshot of Subscribe button


Until then, you should use Arduino IDE 1.8.19 if this is a hard requirement for you. The download links for 1.8.19 are listed here:

Documentation of Arduino IDE 1.x "portable" mode here:

https://docs.arduino.cc/software/ide-v1/tutorials/PortableIDE

Thank you for the informations, I will create a GitHub account to stay updated on this subject.

Until then I can install Arduino IDE 1.8.19 like you said, I know that it has a "portable" mode, but we tried it a few months ago and we had some problems with our student users.

Students have guests users and non administrators. After searching in Arduino forums, we created a folder named "portable" in "C:\Program Files (x86)\Arduino" to change the location of preferences.txt and all the files of the boards installed from the boards manager for all users, instead of "C:\Users\username\AppData\Local\Arduino15". We have a domain of the school, and all students users are in a group. We added that group in security properties of "portable" folder giving full control permissions, also to the files inside the folder. This works fine, but when a user make login in Windows and opens Arduino and the Board Manager, the permissions of some files change and become only: "SYSTEM", "Administrators" and the user who logged in. The files are: "package_esp8266com_index", "package_index", "package_index.json". The other files, including folders and file preferences.txt mantein the permission we added, including students group.
This is a problem, because when other users make login in Windows and open Arduino, the program doesn't start and an error message appears saying that access is denied to those files. We tried different times with different dynamics, but with the same result.

It seems only if you have administrator user everything works fine.
We also tried to install Arduino in "C:" and not "Program Files (x86)", and to use the zip version, but nothing worked.

Our ideal solution would be to mantein guest users for students, and use "portable" folder, but the files permissions must not change and every user has to be able to use Arduino with the boards installed.

Note: we added esp32 via the option "Aditional boards" on the settings for the IDE. We added the URL in the settings and then installed the boards from the board manager. But we had this problem.

It would be nice to know why the permissions of those files in portable folder change.
It seems when Arduino IDE runs, it wright something, changing the files.

Is there a reason it does this? Is there a way to make it work?

Thank you

Giuseppe

Hi, I did other tests and this problem occurs even with Domain Users (non Guest).
After giving the permissions I want in Security section, these files (package_esp8266com_index, package_index, package_index.json.sig) permissions change when a user launches Arduino IDE and opens Boards Manager (it loads something), leaving only "SYSTEM", "Administrators", and the user who logged in and launched Arduino.
When another NON-administrator user makes the login and opens Arduino, it gives error because it has access denied to those files.

Another thing I noted is that the user who make the login first, not only becomes the only non admin user to have permission to those files, but it becomes the owner of those files.

Do you have any idea why it does this? Any suggestions to make it work correctly?

We would like to install Arduino IDE and the boards from our admin user, and then make it work for everyone who login in the PCs. I don't understand why if we set permissions on those files, they change in this way.
It seems like when a user launch Arduino IDE and then launch the Boards Manager, when it loads a bar, it writes something, and maybe somehow overwrite permissions on those files.

Any idea? Do I have to post this in some other forum section?

Thank you

Giuseppe

This is correct. The index files provide the data about which boards platforms and libraries are available for installation via the Arduino IDE Boards Manager and Library Manager. The platform and library developers update the index files each time they make a new release. So Arduino IDE must regularly download fresh copies of the index files from the Internet so that it will have current data.

Thanks for the answer.
But why do file permissions change? If I set permissions on those files, and for example I give full control for Domain Users or some specific Domain Group, these permissions are not maintained, but change in the way I said above, in the last post.
Only these file have this dynamic, but they prevent the use of Arduino IDE for all students and teacher. It seems only Administrators user can use it properly.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.