I am working on a quick launch style application. I am storing file paths, and icon captions in arrays. I am trying to keep the feel of a standalone application. So any method for saving the data should be able to be located some where relatively hidden from the user, so the application can be ran from anywhere, but retain settings and the user to be able to use, move, and share the application without locating multiple files. the arrays will be able to increase in size as the users need for more icons increases. I would also like the user to have the option to backup the data as a file that can be imported back into the application.

What method is best for saving string arrays, and also, what method would most benefit my application?

would the same XML settings file I use for basic preferences be the best candidate? or would a csv or jet database be better served?

is there some other method besides those listed have a better effect?

You have a lot of options. You mention share the app, well as long as you write it as 1 exe, and dont use 3rd party components you will only need the 1 exe. But it wont take the user settings with them - the best way to do that is to offer an export/import option - so they need never know where you hide the file(s) you created with their preferences.

And IMHO the best place to do that is their user profile, either in registry, or as file in the appliation data section.