Arduino IDE 2.3.2 & 2.3.3 always installs in C: for current user

No matter what I choose when installing Arduino IDE I always have some files
on C:\Users\MyName\AppData\Local...

Even if I install on disk E: (where I also have parts of Arduino IDE installed as a result)

When I choose "Install for all users" I expect it to install to c:\Users\All Users, but it always installs in C:\Users\MyName

I am trying to install Arduino IDE to get rid of cyrillic letters in its path (because they cause problems) but I can't. Completely stuck.

I have never done that, but it seems to me it would need to install some part of the program for each user. I know non-latin characters has been a frequent issue, so searching this forum might yield a better fix.

Hi @vvb333007.

The options in the Arduino IDE installer only control where the application is installed. Even though you have been quite vague about these "some files", I am confident that you are not actually talking about the Arduino IDE application, but rather about some folders where it stores its data and configuration files.

This is incorrect. When you choose "Anyone who uses this computer (all users)" in the Windows installer, the Arduino IDE application is installed at this location:

C:\Program Files\Arduino IDE

There is no problem at all if Arduino IDE is installed under a path that contains such characters (and anyway it won't even be if you installed it with the "Anyone who uses this computer (all users)" option). Likewise, there is no problem if its configuration files are installed under a path that contains such characters.

The problem is caused when Arduino libraries are under a path that contains such characters:

Depending on the method of installation, Arduino IDE stores libraries under two different folders:

  • sketchbook folder
  • Arduino data folder

You can configure the paths of each of these. I'll provide instructions for doing that below:

Configuring the Sketchbook Folder Location

  1. Select File > Preferences... from the Arduino IDE menus.
    The "Preferences" dialog will open.
  2. Set the "Sketchbook location" preference to the new path you want for your sketchbook.
  3. Click the "OK" button.
    The "Preferences" dialog will close.
  4. Copy the files from the folder at the previous sketchbook path to the new location.

Configuring the Arduino Data Folder Location

  1. Select File > Quit from the Arduino IDE menus if it is running.
    All IDE windows will close.
  2. Open the file at the following path in any text editor:
    C:\Users\<username>\.arduinoIDE\arduino-cli.yaml
    
    (where <username> is your Windows username)
  3. In the content of the arduino-cli.yaml file, you will see some lines like this:
    directories:
        data: c:\Users\<username>\AppData\Local\Arduino15
    
    Change the value of the directories.data property to the path you want used as the Arduino data folder.
  4. Save the file.
  5. Move the files from the previous paths to the newly configured paths.
  6. Start Arduino IDE.
1 Like

As was noted in Non-ASCII characters in library installation or cache path breaks library compilation caching · Issue #2671 · arduino/arduino-cli · GitHub, there is also a problem when the temporary build folder is under a path that contains non-ASCII characters. The reason is that Arduino IDE caches the compiled library to that folder, so that it can be reused on subsequent compilations to reduce their duration.

It is possible to configure the path of the temporary build folder by adding a build_cache.path property to `arduino-cli.yaml. However, unfortunately currently this doesn't control where Arduino IDE caches compiled libraries:

That has already been fixed, but the fix has not yet been pulled into Arduino IDE (not even the nightly build).

So currently there is no way to control the location where libraries are cached via the Arduino settings. The only way to do this would be to change the location of the operating system's temporary folder. I haven't tried it, but I believe that can be done by following the instructions provided here:

https://www.tenforums.com/general-support/194825-can-windows-temp-folder-location-changed.html#post2429800

I choosed to install on E:

Now I got:

  1. E:/Program Files/Arduino IDE
  2. C:/Users/Вячеслав/AppData/Local/Arduino15

I tried to get rid of "C:/Users/Вячеслав/AppData/Local/Arduino15" path at all cost but it seems impossible. So I either need to reinstall my Windows and choose latin1 user name or...

Is this possible to install Arduino IDE in just one folder which I choose?

Or in other words:

What should I do (except to reinstall Windows) in order to install Arduino IDE in a location different from c:\Users\Вячеслав? Choosing another drive or directory doesn't help: it just spread all arduino files over E: and C:.

Why not install it in a single directory? I though it is even simplier.

Also, removing Arduino IDE doesn't remove it fully: there are bunch of files (not libraries, but arduino files) which remain undeleted

Sad to know that all these problems arise from non-latin1 encoding. :(.

Currently I switched to experimental test build of arduino-cli which supports russian letters.

This sound promising. Lets try it. Will post results here

Because these files are not part of the Arduino IDE application distribution, but instead are installed on demand from the Internet. In many cases, operating system security or application packaging systems prevent the modification of an application installation.

1 Like

Whoa! It worked: i moved whole Arduino15 to another disk :). Now it doesn't recompile every file every time, thats awesome. Now i don't have to wait for 3 minutes every time I press /compile/.

There is a bit more, than just data folder:

board_manager:
    additional_urls:
        - https://espressif.github.io/arduino-esp32/package_esp32_index.json
build_cache:
    compilations_before_purge: 10
    ttl: 720h0m0s
daemon:
    port: "50051"
directories:
    builtin:
        libraries: e:\Arduino15\libraries
    data: e:\Arduino15
    downloads: e:\Arduino15\staging
    user: e:\Arduino
library:
    enable_unsafe_install: false
locale: en
logging:
    file: ""
    format: text
    level: info
metrics:
    addr: :9090
    enabled: true
output:
    no_color: false
sketch:
    always_export_binaries: false
updater:
    enable_notification: true

I'm glad it is working now.

I intentionally only mentioned the relevant part of the file in my post.

If you want to learn about the rest, the documentation is here:

https://arduino.github.io/arduino-cli/latest/configuration/

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