Making PlatformIO portable (or at least duplicatable to other machines)

Hi there. I’m using PlatformIO under VS Code and Windows.
Sometimes I want to develop on a PC which doesn’t have any internet connection.
Since VS Code working in portable mode I wanted to try to get all my libs and build-environments I’ve already installed on my PC at home to (esp, avr, stm etc).
So I followed the instructions from VS Code (extract zip create data, user-data and extensions). Without PlatformIO it is working just fine.
Than I copied all the contents of my %USERPROFILE%.platformio to user-data as whell as the extensions (including platformio.platformio-ide-1.2.0) to the extensions folder.
On the PC I installed Python 2.7 manually.
When I start VS Code PlatformIO tried to install but Failed with “Failed to install PlatformIO IDE.”
So after I took a look at the PCs User profile folder, it created a .platformio folder (even I put the original one in the user-data folder…)
Okay so I thought I try to copy my original .platformio to the targets PC User profile folder, so maybe platformio recognizes that it is already installed. But I got the same error. Then I tried to edit the .platformio\homestate.json file and corrected all paths to the new username. But it still fails.

Is there any way to get all my platformio stuff to a differnt machine to run without having to install everything over internet?

2 Likes

You can’t copy %USERPROFILE%\.platformio\penv and %USERPROFILE%\.platformio\python27 to another machine.

  1. Please install VSCode and PlatformIO IDE on another machine (you will need internet)
  2. Copy from %USERPROFILE%\.platformio “libs”, “platforms”, “packages”.

Unfortunately the machine doesn’t have any internet for security reasons

We plan to refactor an installation logic in PlatformIO Core 4.0. Please stay with us on https://twitter.com/PlatformIO_Org for the further updates.

1 Like

Hello Ivan, any news about the new installation logic? Right now VSCode is fully portable and it’s very easy to get the platformIO installation files wherever we want. But even after changing every path, changing “platformio-ide.useBuiltinPIOCore” and “platformio-ide.customPATH” and even reinstalling it multiple times, there is still something left that unables a fully portable IDE…

Could you please explain the right way to get everything in a custom folder easily (even better if it’s a relative path inside the portable data folder in VSCode) or let us know if the new installation logic would allow us to do that? Thanks and congratulations for your excellent work.

2 Likes

Uh, it would be great if PlatformIO can have all its files stay with VSCode Portable. It would be a pain for me to install it on every PC I temporarily use, taking a long time to install, and leaving .platformio folder in their home dir behind.

1 Like

I’m also very interested to this feature : Working in School I’m behind a very restrictive proxy which don’t allow platformIO to run even with proxy config, so the better way could be to use a portable or duplicable install (made at home) which could allow using PlatformIO behind this proxy.
Changing proxy rules is very hard (in less than 3 years !).

Hi, Is there some news about portable platformIO or at least ability to port directory from a computer to another, and also a way to avoid installing all for each user on a computer :
As teacher I’ve 20 computers with 40 students users AND a proxy very restrictive AND security GPO (windows) old and also very restrictive, I got an administrative acount allowing me to install with it BUT it don’t work with other users.
The best way for me should be using a portable PlatformIO located in One directory I can copy to all computers even without internet access.
The releases of library used (and chains/platforms) could be located in the project ini file so it seems not to be a problem to work with the same files for multiple users.
Hoping positive answer …
Or even if it’s not with a unique directory, a way to do it with some copy.
Best regards and thank you for your work.

Hi, did you end up finding a solution? im looking for a similar way to install/use platformIO in the exact same way. the schools systems are proving to be a big block. any assistance would be appreciated by my students

Perhaps a sandboxing application would help? I mean, it would redirect all writes during installation to a separate directory, which you ideally would be able to copy to other machines.
Also, there are some solutions to make any application portable, maybe they will help.

Do you mean offline installation?