Arduino 2.x in the classroom

Is there a guide to using Arduino IDE 2.x in the classroom? Our computers have multiple users logging in without admin access. We also use Deep Freeze, a system state restore software. From what I gathered in reading through multiple topics is that this is almost an impossible task. The problems are:

1: Installing for all users in the Program Files directory. (There is a command line install that seems to work)
2: Installing the board libraries as admin without users having to install them each time they log in. It would be nice to be able to select them in the installer instead of having to open the app and install them individually.
3: When the user launches the app, it asks for Firewall access for mdns-discovery.exe for each user. Since these users are not admin, they cannot accept this popup. The firewall adds a /user/{username}/appdata.../mdns-discovery.exe to the rules. Since this is different for each user, it can't be added administratively.
4: Sometimes the app hangs when starting unless you run as admin. This looks like it's trying to access something in the administrators arduino folder. If I remove the .arduinoIDE folder in the users/default, this seems to fix the problem.

These are just the problems I ran into. I know that there are other issues as well, since I ran across these in the threads. I have a test computer setup and am willing to help with the guide/screen shots. Thank you.

Hi @cetapc ,

Welcome to the forum..
Deep Freeze looks interesting..
I'd let them all be admins..
It's one of the points Deep Freeze says you can do..
Just reboot and all changes can be undone..

good luck.. ~q

Hi @cetapc

So at least we know that this one is not so "impossible" of a task!

You can use the official Arduino CLI command line tool to install them:

https://arduino.github.io/arduino-cli/latest/commands/arduino-cli_core_install/

By the way, the correct name is "platforms", not "libraries". Unfortunately an alternative incorrect term "core" is also often used, including by Arduino employees. But you should definitely avoid referring to them as "libraries" because we use this term for something else, and never for platforms so it will only cause confusion here on the forum and the incorrect terminology might also propagate to your students.

You can configure the path under which Arduino IDE installs this tool.

Arduino IDE (and Arduino CLI as well) installs the mdns-discovery tool under the packages subfolder of the "Arduino data folder". The path of the data folder used by Arduino IDE can be configured via the directories.data configuration key of a configuration file.

The configuration file is located at this path:

C:\Users\<username>\.arduinoIDE\arduino-cli.yaml

For this sort of system administration work, you might prefer an automated/programmatic approach to working with this configuration file. The arduino-cli.yaml configuration file can be generated and the data in the file adjusted using the arduino-cli config commands:

https://arduino.github.io/arduino-cli/latest/commands/arduino-cli_config/

arduino-cli.yaml is written in the common YAML language. This means that, in case you find arduino-cli config to not be suitable or convenient for your application, you can also use any of the many general purpose tools available for working with data in this format. I can recommend the excellent yq:

The next time you encounter that, check the contents of C:\Users\<username>\.arduinoIDE\arduino-cli.yaml. It might be that there is an incorrect configuration of the paths.

If you aren't able to identify the cause, let us know and we'll investigate further.

Hello,

Thank you for the suggestions. I will go through these and let you know.