"updating" arduino IDE

So, i note that version 1.0.5 is out but I have 1.0.4, I have the non installed version that works well for me because I keep it on my drop box and can use it anywhere knowing it is all setup the same.

So how do I update now that I have added my own libraries etc ? can I dump one into the other and let windows "merge" the folders, replacing original stuff and leaving my added libraries ?

retrolefty:
The way the IDE sets up your users sketch directory which should also be where you save your user libraries, that directory doesn't get erased when you install a new IDE version, so all your existing sketches and user libraries are not effected by the upgrade. However there have been at times changes made to the IDE that make older sketches and libraries no longer compatible with newer IDE version (as when going from 22 to 1.0) but that is another more complex issue.

Lefty

See that is where I have the problem, I don't use that folder, firstly i was not told of it and secondly I use up to 4 computers which all have my drop box on them so I can plug my arduino into any one and just get going without worrying about which machine i'm on as they are all mirrored. using that folder would break that way badly. Why have a "non installed" stand alone version and then ruin the concept by having a seperate machine dependant folder ? I just dropped my new library(s) into the libraries folder in the IDE, what else was i supposed to do ?

sparkylabs:

retrolefty:
The way the IDE sets up your users sketch directory which should also be where you save your user libraries, that directory doesn't get erased when you install a new IDE version, so all your existing sketches and user libraries are not effected by the upgrade. However there have been at times changes made to the IDE that make older sketches and libraries no longer compatible with newer IDE version (as when going from 22 to 1.0) but that is another more complex issue.

Lefty

See that is where I have the problem, I don't use that folder, firstly i was not told of it and secondly I use up to 4 computers which all have my drop box on them so I can plug my arduino into any one and just get going without worrying about which machine i'm on as they are all mirrored. using that folder would break that way badly. Why have a "non installed" stand alone version and then ruin the concept by having a seperate machine dependant folder ? I just dropped my new library(s) into the libraries folder in the IDE, what else was i supposed to do ?

Maybe have your sketch folder on dropbox? I'm not sure who told you not to put user-installed libraries in the sketch folder's libraries folder, but that advise is exactly what is causing your issue.

no one advised my either way. i downloaded the IDE and put it on my drop box, last time i used a non installed program it did not create folders elsewhere on my computer without telling me and expect me to use them. I just looked in the IDE folder saw a "libraries" folder and came to the logical conclusion that I should put my custom libraries in there, how else should it be ? I don't understand why every tom dick and harry program thinks it has the right to mess with MY documents folder on MY machine.

I also run KiCAD like this so that I keep custom component libraries between computers and don't have this problem because it keeps "itself to itself".

Sorry, I misread your message. (I should really get to bed as I read "firstly i was not told of it" as something like "firstly i was not told to use it"...)

In the online documentation at http://arduino.cc/en/Guide/Libraries it tells you to use the libraries folder in your sketch folder. Yes it talks a lot about the new functionality in v1.0.5, but the manual installation section really hasn't changed. But, that said, I didn't get into this project until Arduino v1.0.3 so I don't know what it said prior to then.

I just looked in the IDE folder saw a "libraries" folder and came to the logical conclusion that I should put my custom libraries in there, how else should it be ? I don't understand why every tom dick and harry program thinks it has the right to mess with MY documents folder on MY machine.

But you see, the Arduino program wouldn't be messing with your documents folder on your machine when you add custom or third-party libraries. You are. (Well, actually, in your case, it probably does mess with your documents folder because you have it stuffed in your dropbox folder which is usually installed in your documents folder...) I guess the modern exception would be the new functionality to install new libraries. This feature will put new libraries in a folder named "libraries" that is inside what you have told it is your sketch folder. See you still have limited control, you can tell it where your sketch folder is.

The idea is you let the installer put the programs and the default information in the (for example on windows) Program Files folders. That is the place for the installers to muck around in. The program runs and it stores user-specific preferences in the (again example is windows) "\AppData" folder. This is the place for programs to muck around in. You set up a working area in "\Documents", "\My Dropbox", or somewhere else that is easy for you to find/use in your path. This leaves the program folder available for installers to nuke and rebuild without touching settings. (Installers are notoriously stupid, so files they don't expect either break them or go to the bit-bucket along with everything else.) The preferences in "\AppData" is usually hidden so general users don't mess with it. It is a unique place for all the different users of the machine, but the same place for each running instance of the program by using environment variables to resolve where the is for the current user.

I also run KiCAD like this so that I keep custom component libraries between computers and don't have this problem because it keeps "itself to itself".

Similar with your KiCad environment. You should really have any component libraries and modules that you have created and/or edited outside the KiCad installation folders. Otherwise when you upgrade they may be overwritten. This is something that is highly stressed by the advanced people over on the KiCad forum... Actually, it is also suggested there that one should really only use the core libraries and modules as reference starting points for creating your own libraries and modules. (Kinda a given for me as I'm one of those oddballs who likes to have pin 1 indicated on all components (pin numbers on schematics, square pad on boards), even non polarized components like resistors. It really helps (me) when tracing or documenting signal nets for modifications to easily find which side of a (for example) resistor one wants to cut a trace on a multi-layer board.)

My best advice to you for both programs is to extract all your custom stuff from the program install areas, and put all your custom stuff (custom/third-party Arduino libraries, KiCad libraries/modules as well as your actual projects for both programs) on dropbox so your stuff can be shared across your 4 machines. (You may want to disconnect the machine you are doing this on from the internet until you finish. Re-connect and allow dropbox to synchronize the final result of all these changes instead of constantly synchronizing changes as you go.) Use the program installers on all 4 of your machines to put the actual program where the system knows about programs. Then configure all 4 machines to look in your dropbox folder for your working area. So you only have to download the installer once from the respective web-sites, put the installer for the latest version of the program in your dropbox folder. Then if/when you add a 5th machine, the installer for the version you are using on all the other machines is readily available. Especially valuable if you are keeping yourself back a version or two from the latest for that one feature that is essential to your work flow that got broken on the latest bug "fix". :wink:

As some have already explained, keep your libraries elsewhere. For that matter, do the same with your sketches. I too use Dropbox and my installation looks like this:

I download the zip file and uncompress it in Program Files (x86)
When I open it the first time, I verify the sketch folder location by opening File -> Preferences

In my Dropbox folder, I created a folder called Arduino and inside of that I have a Sketches folder. So in the preferences window, I set the Sketchbook location to that path: [driveletter:]\Dropbox\Arduino\Sketches

Inside of that Sketches folder, I created a 'libraries' folder.

Any library that I install myself, I put in that 'libraries' folder. Any sketches I create are automatically saved inside that Sketches folder.

Now I can update the arduino program without having to do anything with my sketches or libraries. Just verify that the path is correct in the preferences. This also allows me to open the IDE on any computer where I have my Dropbox and be able to open any sketch, compile with any library, and I don't have to worry with missing stuff. It's all there.