Hi Deb,
1. It can't. You have to republish the whole project. A ClickOnce deployment is a package of files, and if you want to update any, you have to deploy the whole package. If the files are huge, you could shoot off a background thread in your application and download them using an http request, and then in the future have the application check to see if it needs to re-pull it, or something like that.
Also, with a ClickOnce app, you have write access to very few places (especially if you are using Vista.You cancopy the file from your deployment over to somewhere the user can get to it pretty simply. Something like thefollowing with get you the path to MyDocuments, where you could create a folder andstick it in there, then have your application access it from that location if needed. Plus, the user could find it independently of your application.
string userFilePath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
2. A ClickOnce application is partially defined by the installation path. So if you deploy it to a web server, you can't then copy the deployment to a file folder and install it from there. If you change the location of the deployment, then ClickOnce doesn't see it as the same application. If you want the user to copy it to a folder on the hard drive, then you need to deploy it to a folder of the same name and path on YOUR hard drive, so they look like they are installing it from the same folder you deployed it to.
If you want to have multiple versions of the same application installed (like test and production versions), you can do that; here is an article telling you how:
http://robindotnet.wordpress.com/2009/04/22/clickonce-installing-multiple-versions-concurrently/See if this provides you with the answers you need, and if not, please feel free to post back with more questions.
RobinDotNet
Click here to visit my ClickOnce blog!