Hi Muhilan,
ClickOnce deployment allows you to deploy a version of your application, and when you deploy a new version, the users will get the update automatically. For some general information on ClickOnce, check out these links:
ClickOnce Overview
http://msdn2.microsoft.com/en-us/library/142dbbz4(VS.80).aspx
HowTo publish a clickonce app
http://msdn2.microsoft.com/en-us/library/31kztyey(VS.80).aspx
When a new version is installed, it creates all new folders and puts the files there.
I always deploy ClickOnce apps as full trust, but that's a decision you'll have to make. It does give you access to the user's file system under his profile, such as MyDocuments. ClickOnce installs in the user's profile, and to access anythihng from, say, Program Files, requires elevated privileges with Windows Vista and Windows Fabulous (7).
You can change the app.config file when you release each version and it will update it on the client side.
You can also store files in LocalApplicationData in Vista and Windows Fabulous, and in fact it is the recommended place if you want to create some kind of cache for your application.
For us, there are some files we want to put on the user's machine and still be located by our app when a ClickOnce update goes out. We create a folder in LocalApplicationData and cache a bunch of files and settings there. If there are files you are deploying that you want the user to be able to update and then not get lost by a ClickOnce update, you could do something similar, creating or updating the LocalApplicationData the first time the user runs the application, and then not when there is an update. This should give you the idea of what we're doing, and it's working great for us:
http://robindotnet.wordpress.com/2009/08/19/where-do-i-put-my-data-to-keep-it-safe-from-clickonce-updates/
RobinDotNet
Click here to visit my ClickOnce blog!Microsoft MVP, Client App Dev